Re: Numeric constants vs enumerated strings

On Wed, Feb 15, 2012 at 9:16 AM, Dominique Hazael-Massieux <dom@w3.org> wrote:
> (trimming cc as originally requested)
>
> Le mercredi 15 février 2012 à 17:05 +0000, Marcos Caceres a écrit :
>> > There are strong ties, in the sense that the said API would be exposing
>> > a readyState property (similar to XMLHttpRequest, HTMLMedia, etc).
>>
>> I'm not sure there is any relationship to the internal state of an
>> object and using object.SOME_HARD_TO_REMEMBER_AND_TYPE_THING…
>> specially when you can just type "thing".
>
> That's not the point; the point is that if we use strings for a
> readyState property in one API, and numeric values in many others, we
> would have scripts that have code that looks like:
>
> if (XHR.readyState == 4) {
>
> }
> if (P2P.readyState == "done") {
>
> }
>
> That seems utterly confusing, hard to remember, hard to teach, etc.

The old way is *so bad* that breaking with legacy practices is
justified.  I'm in favor of this as a general rule for all new APIs.

~TJ

Received on Wednesday, 15 February 2012 19:52:35 UTC