ES Style Question

Rick Waldron waldron.rick at gmail.com
Fri Sep 9 14:27:57 PDT 2011


Mikeal,

So, the Math object is "no good"?

Rick



-- Sent from my Palm Pre
On Sep 9, 2011 4:27 PM, Mikeal Rogers <mikeal.rogers at gmail.com> wrote: 

I've used a few different javascript style guides over the years and the only thing I can remember being consistent across all of them is that only constructors get First letter casing. 
I have to admit that the few times I've seen people using First letter casing for non-constructors I've immediately decided that their code is no good, which is probably a little reactionary on my part.
Crockford puts it well:
"Constructor functions which must be used with the new prefix should start with a capital letter. JavaScript issues neither a compile-time warning nor a run-time warning if a required new is omitted. Bad things can happen if new is not used, so the capitalization convention is the only defense we have."
-Mikeal
PS. I've now more or less settled on Isaac's style guide which is used by npm https://github.com/isaacs/npm/blob/master/doc/coding-style.md although I do use semicolons on new lines after large var declarations because I find that newer developers think the statement ends ambiguously.
On Sep 9, 2011, at September 9, 20111:06 PM, Rick Waldron wrote:Thanks for all the input. I'm actually aware of and have studied quite thoroughly both of the resources that were provided - I'm kind of a "stickler" for style guides.
I was actually very specifically looking for an answer regarding First letter casing for non-constructor built-in objects, ie. Math and Proxy. I think the legacy Java style guide influence addresses the question as best as I can hope for.


Thanks
Rick


On Fri, Sep 9, 2011 at 3:11 PM, Tom Schuster <tom at schuster.me> wrote:


>var a = 10

>  , b = 20

>  , c = 30;

Ugh the first time i saw this, i wondered who came up with this.



The Google style guide also isn't too bad

http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xmlcript.crockford.com/code.html



, though I disagree with



/wrong button



On Fri, Sep 9, 2011 at 9:00 PM, Dmitry Soshnikov

<dmitry.soshnikov at gmail.com> wrote:

> Also, style guides with 2 spaces indention are also good and wide-spread

> (other things are the same as described in the link which Mark gave -- this

> is Java's style guide by the way).

>

> On 09.09.2011 22:10, Mark S. Miller wrote:

>

> I like http://javascript.crockford.com/code.html , though I disagree with

> leaving a space between "function" and "(" for anonymous functions.

>

> Since function name is optional in case of an expression, a space after the

> function may make sense.

>

> function foo() {}

> function () {} -- just name disappeared, all the other the same.

>

> Or, an analogy -- you put a space after some statements which are followed

> by the parenthesis, right? E.g.:

>

> while (true) {}

> if (false) {}

>

> the same with function.

>

> However, of course it's just a local style guides. E.g. in Erlang, space is

> not put (as usually and in code of standard library) for function

> expressions as in your variant:

>

> Double = fun(X) -> X * X.

> (fun(X) X * X)(2)

>

> OTOH there, in contrast with JS, `fun`s don't have names.

>

> P.S.: Back to topic, the thing which I personally don't like is to put a

> colon on a new line, as used in Node.js often:

>

> var a = 10

>   , b = 20

>   , c = 30;

>

> Of course it has advantages, e.g. for commenting one line, but literally

> looks odd for me.

>

> But in general ECMAScript has no style guide. As well as there is no such

> language as ECMAScript (I mean, it's the sample implementation which is

> called ECMAScript), and all others are just local style guides. Usually

> that's said, either Java's style guide is used, or the same but with 2

> spaces.

>

> Dmitry.

>

>

> http://www.jslint.com/

>

> On Fri, Sep 9, 2011 at 10:45 AM, Rick Waldron <waldron.rick at gmail.com>

> wrote:

>>

>> I was wondering if a canonical guide for ECMAScript style and conventions

>> exists - specifically I'm curious to find out what the historic precedence,

>> rules and reasoning behind the capitalization of constructors and built-in

>> objects, ie. Array or Math. Even _more_ specifically, there exists a fairly

>> common convention that first letter capitalization is generally reserved for

>> constructors that expect to be paired with "new"... obviously this is not a

>> hard rule, but I'm curious if any documentation or articles exist regarding

>> the subject.

>> Thanks!

>> Rick

>> _______________________________________________

>> es-discuss mailing list

>> es-discuss at mozilla.org

>> https://mail.mozilla.org/listinfo/es-discuss

>>

>

>

>

> --

>     Cheers,

>     --MarkM

>

> _______________________________________________

> es-discuss mailing list

> es-discuss at mozilla.org

> https://mail.mozilla.org/listinfo/es-discuss

>

>

> _______________________________________________

> es-discuss mailing list

> es-discuss at mozilla.org

> https://mail.mozilla.org/listinfo/es-discuss

>

>

_______________________________________________

es-discuss mailing list

es-discuss at mozilla.org

https://mail.mozilla.org/listinfo/es-discuss



_______________________________________________
es-discuss mailing list
es-discuss at mozilla.org
https://mail.mozilla.org/listinfo/es-discuss


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20110909/dcc5d051/attachment.html>


More information about the es-discuss mailing list