2009-10-08 20 views
13

私はこの質問に答えはありませんが、私は他の人が何を考えているのか知りたいと思っています。JavaScriptオブジェクトのための大文字小文字の変換

Javaのような言語では、大文字と小文字のオブジェクトでクラスを開始するのが一般的です。しかしJavaScriptはどうですか?すべてがオブジェクトです。

私は、クラスとして扱われるオブジェクトだけを大文字にすることを勧めている人もいます。 newオペレータと共に使用されることを意図した、プロトタイプを有する関数オブジェクトである。これらのオブジェクトのインスタンスは小文字になります。

それは論理的に聞こえる。しかし、インスタンスが1つしかない「グローバルオブジェクト」についてはどうしますか?ほとんどの人はこれらを大文字にしているようです(例えば、数学または外伝)。これは直感的には直感的ですが、一貫したルールでそれを正当化するのは難しいです。

名前空間として使用されるオブジェクトはどうですか?これらは、すべてのマップの上にあるように見える:YUIなどExt.utiljQueryの

あなたの心に感じた宗教観のための世俗的合理化を提供してください。

答えて

27

あなたは一般的に、このGoogle JavaScript Style Guide

に従うことができ、functionNamesLikeThisを使用し、variableNamesLikeThis、ClassNamesLikeThis、EnumNamesLikeThis、methodNamesLikeThis、およびSYMBOLIC_CONSTANTS_LIKE_THIS。

+0

あなたのリンクでは、 'filenameslikethis.js'のようにファイル名を保存することをお勧めします。なぜすべてが小文字であるのか知っていますか?私はそれが読むのが難しいように見えると思う。 – ayjay

+1

"...と書かれていますが、' -'や '_'(好きな' -'から '_')を除いて句読点は含まれていません。したがって、 'file-name-like-this.js'もお勧めします。 –

+0

変数にクラスが含まれている場合はどうなりますか? 'var class '' className ']'または 'var constructorClass = classMap [' className ']'? –

1

私は、後でnew演算子を使ってインスタンス化される "クラス"(air-quotes used)を定義する関数の大文字化に同意します。

しかしそれだけです。グローバルオブジェクトは単なるグローバルです。あなたの望むものに名前を付けてください。

私は、彼らが後で別の開発者によって誤って上書きされないように、一意で説明力があることを確かめます。

0

慣習はないという規則があります。あなたが欲しいものをやってください。一貫してください。私はJavaのスタイルに従うことをお勧めします。あなたが使っているライブラリ(dojoExtYUI$など)を無視してください。

関連する問題