回答編集履歴
1
プロジェクト全体だと外部から取ってきたものまで含まれちゃうので、プログラムにした
answer
CHANGED
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
|
|
39
39
|
Cでは聖典K&Rの例文やLinux Kernelが採用している([Linux kernel coding style](https://www.kernel.org/doc/Documentation/CodingStyle)参照)こともあり、カーネルスタイルにする場合が多々見られますが、絶対的優位とは言えません。ましてやC++になると群雄割拠です。JavaはSunの時代に[Code Conventions for the Java Programming Language](http://www.oracle.com/technetwork/java/index-135089.html)で推奨したこともあり、Javaスタイルが主流です。逆にC#はMicrosoftが[C#のコーディング規約](https://msdn.microsoft.com/ja-jp/library/ff926074.aspx)で書いてあり、かつ、Visual Studioのデフォルトになっていることもあり、オールマンスタイルが主流です。
|
|
40
40
|
|
|
41
|
-
しかし、C、C++、Java、C#において、字下げスタイルは重要ではありません。なぜなら、これらの言語では、どのような字下げスタイルを使おうとも、文脈が変わることが無いからです※。聖典K&Rにあるように、重要なのはプロ
|
|
41
|
+
しかし、C、C++、Java、C#において、字下げスタイルは重要ではありません。なぜなら、これらの言語では、どのような字下げスタイルを使おうとも、文脈が変わることが無いからです※。聖典K&Rにあるように、重要なのはプログラム全体で統一されていることです。
|
|
42
42
|
※ これらの言語では、文字列リテラル内とマクロ部分を除いて、改行と空白は同じものとして扱います。ですので、文字列リテラル内やマクロ部分を除いて、改行を全て空白に置き換えても、その逆をしても、文脈は変わらないと言うことです。
|
|
43
43
|
|
|
44
44
|
###JavaScript特有の事情
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
}
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
実際にオールマンスタイルを採用したと言っても、`return`文以外では問題はほとんど起きません。上の例文で、下の文はエラーになるため、暗黙のセミコロンがつくことはありません。それでも、プログラマーは常に気を張り巡らせておく必要があります。よく理解せずに使用すると不可解なバグの原因となりますし、問題が起きる`return`文で例外を許して、スタイルが統一されないという事に
|
|
62
|
+
実際にオールマンスタイルを採用したと言っても、`return`文以外では問題はほとんど起きません。上の例文では、下の文はエラーになるため、暗黙のセミコロンがつくことはありません。それでも、プログラマーは常に気を張り巡らせておく必要があります。よく理解せずに使用すると不可解なバグの原因となりますし、問題が起きる`return`文で例外を許して、スタイルが統一されないという事態に陥ります。
|
|
63
63
|
|
|
64
64
|
```JavaScript
|
|
65
65
|
function AAA()
|
|
@@ -88,4 +88,4 @@
|
|
|
88
88
|
|
|
89
89
|
なお、同じK&Rスタイルでも、カーネルスタイルでは無いのは、関数のみ例外的に扱う理由が無いからです。関数のみ例外とするカーネルスタイルは、Cの関数定義の古い書き方や、関数定義を入れ子に出来ないなどの特殊な事情から来ていますが、JavaScriptにはそのような事情はありません。
|
|
90
90
|
|
|
91
|
-
以上のように、JavaScriptにおける字下げスタイルは、他の言語とは違い、
|
|
91
|
+
以上のように、JavaScriptにおける字下げスタイルは、他の言語とは違い、些細なことでは**ありません**。もし、あなたが、複雑怪奇な暗黙のセミコロンのルールを完璧に理解し、`retrun`文での例外を受け入れるなら、オールマンスタイルを採用してもいいでしょう。しかし、そのような**天才**以外は、素直にJavaスタイルを採用することを推奨します。私を含めた凡人には、そんなくだらないルールをいちいち考えるほどの余裕はありません。
|