プログラミングの上手い奴の特徴:アルファルファモザイク

http://alfalfa.livedoor.biz/archives/51515086.html
ふむ。
私が考える「プログラミングの上手い奴の特徴」をあげてみよう。
(1)極度の面倒くさがり屋であること
(2)整理されていないと落ち着かない性分であること
(3)プログラム自体が好きであること
この3つかな。
 

極度の面倒くさがり屋であること

良いプログラムである要素の一つに「同じ処理は二度書かない」というものがある。
これをしないとどうなるか。
・コピペが多くなり、プログラムの全体量が増えて見通しが悪くなる
・修正を行ったら、コピペした先全部を修正してまわる必要が出る
なんて面倒なんだ。

「面倒くさがりだとコメント(プログラムの中に書いておくメモ書き)とか書かないから不味いんじゃね?」
という意見もあるだろう。
しかしそうではない。
プログラマの意見として「1か月前の自分のプログラムを読むのは、他人のプログラムを読むのに等しい」というものがある。
1か月も立てばどんな内容だったか忘れるということだ。
真の面倒くさがり屋は「1か月後にとてつもなく面倒になるくらいなら、最初からコメントを書いておく」道を選ぶ。
 
また、キーボードを打つのが面倒なため、より短く・エレガントで・効率的な実装をしたがる。
そのために勉強をする。
真の面倒くさがり屋は、楽をするための苦労を惜しまない。

STLを学ぶ前と後を考えてみよ)

整理されていないと落ち着かない性分であること

基本的にプログラムは、整理されていれば整理されているほど
・再利用性があがる。(同じプログラムを書くのは面倒臭い)
・バグが減る。もしくは発見しやすくなる。(バグを直すのは面倒臭い)
・他人が見ても理解しやすくなる。(他人にいちいち質問されるのは面倒臭い)
という性質がある。
これを自然とやれるのは、優秀なプログラマとしてかなりのアドバンテージだ。

プログラム自体が好きであること

好きこそもののなんとやら。
そもそもプログラムが好きじゃないなら、プログラマーになるなよw

可愛くて甲斐甲斐しい、理解のある嫁さんがいること

家でもプログラムに没頭できる。