【91】良いプログラマになるには

ピート・グッドリフ(Pete Goodlife)

 良いプログラマは良いコードを書き、良くないプログラマは……そうでないコードを書く、そんなことは何もシャーロック・ホームズでなくてもわかることでしょう。良くないプログラマの書くコードはまるで怪物のようです。周囲の人間は、その修正のためにあとで大変な苦労をさせられます。読者はみな当然、良いコードを書きたい、良いプログラマでありたい、と望んでいるでしょう。

 良いコードは何の根拠もなく勝手に生まれたりはしません。今週はたまたま星回りが良いから良いコードができた、などということはないのです。コードを良くするには、そうすべく相当な努力をしなくてはなりません。良いコードを書きたいと心の底から願い、努力をした人だけが本当に良いコードを書けるのです。

 ただ技術が優れているというだけでは良いコードは書けません。素晴らしいアルゴリズムを考え出せる知性を持ち、プログラミング言語についての知識も十分なプログラマが、実にひどいコードを書くというのは珍しくありません。そういう人が、読むのも使うのも大変、修正するのも大変、というコードを書いてしまうことはあるのです。反対に、能力は平凡でも、シンプルなコードを書こうと細心の注意を払った結果、美しく、わかりやすいコードができあがったという例を私はたくさん見てきました。読むのも使うのも楽しくなるようなコードです。

 ソフトウェア会社で長年働いた経験から、1 つわかったことがあります。それは、良いプログラマとそうでないプログラマの違いです。両者の最大の違いは「取り組む姿勢」にあります。良いプログラマの姿勢は、プロフェッショナルという言葉にふさわしいものです。常に、最大限の力を尽くして良いコードを書こうとします。リソースの制約のある中、早く作業を終わらせろと会社が圧力をかけてくる中、それでもできる限り良いコードを書こうと努力をするのです。

 「地獄への道には善意が敷き詰められている」という言葉があります。それと同じように、「地獄行きのコード」に善意が敷き詰められていることもよくあります。良いプログラマになるためには、単なる善意だけでは不十分です。自分が善意でしていることが本当に功を奏しているか、よく確認することが大切なのです。常に事実、現実を直視し、その上で物を考えるような姿勢が必要でしょう。真に優れたコードは、知識も経験もあるプログラマが最大限心を配って書いた時に生まれるものです。深く考えもせず、ぞんざいに書いたコード、自称「達人」が自分勝手な方法で書いた独りよがりなコードが良いものになるわけがありません。

 良いコードが書きたいのなら、良いプログラマになりたいのなら、常に次のことを心がける必要があるでしょう。

 ここに書いてあることに興味を持ち、最後まで読んだ人はおそらく、プログラミングが好きで、良いプログラマになりたいという熱意を持った人でしょう。是非これからもプログラミングを楽しんで欲しいと思います。難しい問題を見事解決できるプログラム、自ら誇りに思えるプログラムを書きましょう。