の1つjslint
ツールのヒントは:
++
--
(インクリメント) 演算子と
(デクリメント) 演算子は、過度のトリックを助長することで、悪いコードの一因になることが知られています。これらは、ウイルスやその他のセキュリティ上の脅威を引き起こす点で、欠陥のあるアーキテクチャに次いで 2 番目に悪影響を及ぼします。これらの演算子の使用を禁止する plusplus オプションがあります。++
--
次のような PHP 構造では簡単に off-by-one エラーが発生する可能性があることはわかっています$foo[$bar++]
が、ループを制御するより良い方法がわかりません。
while( a < 10 ) do { /* foo */ a++; }
または
for (var i=0; i<10; i++) { /* foo */ }
これらを強調表示しているのjslint
は、類似の言語の中に「++
」と「」の構文が欠落しているか、異なる方法で処理している言語がいくつかあるためでしょうか、それとも私が見逃している「 」と「 」--
を避ける他の根拠があるのでしょうか?++
--
ベストアンサー1
私の考えでは、次のように ++ と -- を常に 1 行で単独で使用します。
i++;
array[i] = foo;
の代わりに
array[++i] = foo;
それ以上のことは、一部のプログラマーを混乱させる可能性があり、私の見解では、それだけの価値はありません。for ループは例外で、インクリメント演算子の使用は慣用的であり、常に明確です。