カテゴリー別アーカイブ: プログラミングのコツ

(極論)IF文で分岐させるな。

if文は分判定文でありswitchは分岐文である。

換言すれば、if文を分岐に使ってはならない。

今日のプログラミング入門は、
「IF文によって分岐させましょう」などと平気で書いてあるが、
使えるからと言って使えるものを使うのは間違っている。

間違っていると言い切る理由は他にもある、それは、
判定をくだした後の処理は機能/関数に任せること。

こうすれば一本道になる。

if文は例外処理を行うためにあると、言い切る人もいる。

if文:例外処理、switch文:分岐、という使い分けをするのが望ましい。

(場合によりけりだと思うが上記の区別はつけたい。

オリジナリティは多くの場合は悪である。

あんまり知られていないが、プログラミング能力を客観的に評価する場合、もっとも無難な軸になるのは、簡潔に短く構造化して書くことなどと言うことができるわけだが、、、これ早い話、「一般的で無難なコードを書くことができる」ということだ。(これに対して、一番やってはいけないのは「オリジナリティのあるコード」を書くこと。クセがあるコードという意味になり忌諱される。奇を衒う必要はない。新しい(処理効率の高い)アルゴリズムを考え出したのではない限り、コードのオリジナリティとは可読性を下げる害にしかないらない。)

--

「一般的で無難なコードがいい」ということが正しいかどうか?常識を疑うことにこそ自分で思考する価値があると言う人がいる。

結果としてオープンソースは有用だ。人の目にさらされた方が処理プロセスそのものがセキュアになる。バグが減る。バグも誰かが直してくれる。パブリックにさらされて残ったコードは洗練されて抽象化されたお手本になる。ことプログラミング/コードに限らず、自然言語もそうなのではないだろうか。いや、人の思考とはそもそもそういうものではないだろうか。オリジナリティは多くの場合は悪である。

IF文禁止令

※IF文は分岐ではない。真偽値を確かめるための文である。
※IF文があるからバグが生れるので、IF文は極力使用しないようにする。
※良いコードとは可読性、つまり保守性が高いコードであるが、
 見やすさは、IF文を最小限にすることである。
※IF文ではなfor文を使って書き換えよう。
※IF文ではなくswitch文を使って書き換えよう。
※(if)もし、あなたが死んだら。。。
※綺麗なコードとは演算が少なくシンプルであるということ。
※IF文禁止令、すなわち、ネスト禁止令。ネストは三段以下にせよ!!

(というエッセイを書こうという処理パーツの羅列)