アカウント名:
パスワード:
自称17歳としては敢えて規制を受けるべきか!?
最近のコンパイラだとワーニング出そうなw(JavaやC#だと型エラーだし。)
> 最近のコンパイラだとワーニング出そうなw
昔、こう書けと指導されたことがあります。
誤 if(age == 17) 正 if(17 == age)
最近、この手のご指導を聞かないのは、コンパイラが警告出してくれるようになっていちいち気にする必要がなくなったからなのか。
#それでも今だ手癖で定数を左にもってきちゃいます。
そのスタイルは、比較の片方が定数の時にしか使えないという限定的なものであり、限定的でありながら、可読性(意味理解)に難がある、というのが否定派の意見でしょうか。どうせなら、if(0==age-17)みたいに、「等しいかどうかの判定は、差が0かどうか調べる」ってスタイルなら、一貫性がとれてていいかなーと思うのですが、そういうスタイルを使ってる人は見たことないですね…
確かに効果は限定的な割に可読性に難があることは否めない。そのことは使っていて痛感してます。
人の書いたコードは、何これ?とちょっとでも思っちゃうと読解する気力が失せちゃうというか。可読性を損なうトラップというのはできるだけ避けるべきですね。
あと、#1503073 のACさんが指摘していますが、> コード上でトリッキーなことをやって安全性を高めるのではなく、外部のコード検査ツール等を使って安全性を高めるべきです。というのも納得。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
18歳 (スコア:3, おもしろおかしい)
17歳教 (スコア:2, おもしろおかしい)
自称17歳としては敢えて規制を受けるべきか!?
ほぼ永遠の17歳 (スコア:4, おもしろおかしい)
if(age = 17)
printf("私は17歳です。\n");
else
printf("私は17歳ではありません。\n");
}
Re:ほぼ永遠の17歳 (スコア:1)
最近のコンパイラだとワーニング出そうなw
(JavaやC#だと型エラーだし。)
Re:ほぼ永遠の17歳 (スコア:1)
> 最近のコンパイラだとワーニング出そうなw
昔、こう書けと指導されたことがあります。
誤 if(age == 17)
正 if(17 == age)
最近、この手のご指導を聞かないのは、
コンパイラが警告出してくれるようになって
いちいち気にする必要がなくなったからなのか。
#それでも今だ手癖で定数を左にもってきちゃいます。
格差社会ニッポンを変える!
貸し渋り・はがしの温床、大銀行の厳正審査をやめさせよう!
Re:ほぼ永遠の17歳 (スコア:1)
そのスタイルは、比較の片方が定数の時にしか使えないという限定的なものであり、
限定的でありながら、可読性(意味理解)に難がある、というのが否定派の意見でしょうか。
どうせなら、
if(0==age-17)
みたいに、「等しいかどうかの判定は、差が0かどうか調べる」ってスタイルなら、一貫性がとれてていいかなーと思うのですが、そういうスタイルを使ってる人は見たことないですね…
Re:ほぼ永遠の17歳 (スコア:1)
確かに効果は限定的な割に可読性に難があることは否めない。そのことは使っていて痛感してます。
人の書いたコードは、何これ?とちょっとでも思っちゃうと読解する気力が失せちゃうというか。可読性を損なうトラップというのはできるだけ避けるべきですね。
あと、#1503073 のACさんが指摘していますが、
> コード上でトリッキーなことをやって安全性を高めるのではなく、外部のコード検査ツール等を使って安全性を高めるべきです。
というのも納得。
格差社会ニッポンを変える!
貸し渋り・はがしの温床、大銀行の厳正審査をやめさせよう!
Re: (スコア:0)
定数を左辺に書いて、頻繁にコンパイルエラーを食らっているような人は、変数どうしの比較でも同じ失敗をしますが、そこではコンパイルエラーを食らいません。これが問題です。
次に、直感的ではない、ということです。プログラムはなるべく思考通りの順序で書くべきです。
コード上でトリッキーなことをやって安全性を高めるのではなく、外部のコード検査ツール等を使って安全性を高めるべきです。