アカウント名:
パスワード:
処理が1行だからといって、if文で格好つけるのはやめましょう。
括弧の有無でパーサが限界に達したりするから簡単な問題じゃないんだよif(~!=0);else if(~!=0)~if(~!=0);else{/*SUCCESS*/}/*FAILURE*/;return err;みたいなの
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail;
を
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) { goto fail; }
にしちゃいけない理由なのか?
条件式の後に単文を実行する場合はブレースを付けないコーディング規約なのかも知れません。
私はかつて、最初にプログラマとして勤めた職場が「ブレース省略禁止」で叩き込まれたこともあり、ブレース省略の利点がさっぱりわからない(こういうバグを生む)のですが、なぜか「単文ではブレース省略」とする規約は見たことがあります。
一般論としては、言語のある機能を使わずすますために、冗長な記述を毎回繰り返すことは、ダメプログラマーの典型的な行動なので、ブレースは省略すべきということになる。
ただし、ブレースの省略に関していえば、ミスが発生しやすいことが過去の多くの例で立証され続けているので、そろそろ例外と断定してもいいだろう。
他に例外になりそうなものを挙げるとすれば三項演算子や再帰などがあるが、これについては賛否両論の段階だろう。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家
格好つけずに括弧つけろよ (スコア:5, おもしろおかしい)
処理が1行だからといって、if文で格好つけるのはやめましょう。
Re: (スコア:0)
括弧の有無でパーサが限界に達したりするから簡単な問題じゃないんだよ
if(~!=0);else if(~!=0)~if(~!=0);else{/*SUCCESS*/}/*FAILURE*/;return err;
みたいなの
Re: (スコア:0)
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
goto fail;
を
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
{
goto fail;
}
にしちゃいけない理由なのか?
Re: (スコア:1)
条件式の後に単文を実行する場合はブレースを付けないコーディング規約なのかも知れません。
私はかつて、最初にプログラマとして勤めた職場が「ブレース省略禁止」で叩き込まれたこともあり、ブレース省略の利点がさっぱりわからない(こういうバグを生む)のですが、なぜか「単文ではブレース省略」とする規約は見たことがあります。
Re:格好つけずに括弧つけろよ (スコア:0)
一般論としては、言語のある機能を使わずすますために、
冗長な記述を毎回繰り返すことは、
ダメプログラマーの典型的な行動なので、
ブレースは省略すべきということになる。
ただし、ブレースの省略に関していえば、
ミスが発生しやすいことが過去の多くの例で立証され続けているので、
そろそろ例外と断定してもいいだろう。
他に例外になりそうなものを挙げるとすれば三項演算子や再帰などがあるが、
これについては賛否両論の段階だろう。