ninjinkun's diary

ninjinkunの日記

プログラマの出発点 - コードコンプリート

はてなスタッフとして働き始めて一年が経ちました。何かが一つできるようになると、もっとできないことが見えて、峠の先にはまた峠、その繰り返しです。いつも先を見ていてはさすがに疲れるので、たまには登ってきた道を振り返ってみようと思い立ちました。

今日は僕がプログラマになるために勉強してきた中で一番役に立った本を紹介します。

じゃじゃん!超定番ですがこちらです。

Code Complete第2版〈上〉―完全なプログラミングを目指して

Code Complete第2版〈上〉―完全なプログラミングを目指して


Code Complete第2版〈下〉―完全なプログラミングを目指して

Code Complete第2版〈下〉―完全なプログラミングを目指して

命名規則やスペーシングの話から始まり、テスト、リファクタリング、チームでの開発プラクティスまで、プロダクションレベルのコードを書こうとしている人には必須の知識が盛り込まれています。ソフトウェア工学の知見が随所にちりばめられ、各種の手法が説得力のあるものになっています。

働き始めてから実感したのですが、学校での課題や趣味でのコーディングと「仕事としてコードを書く」ことの間には、かなりの隔たりがあります。可読性、可搬性、可用性、保守性。概念だけ知っていたものが、自分の仕事、ひいてはプロジェクト全体の進捗を左右するようになります。また、「誰かが使う」ものにはとても高い品質が求められます。それをカバーするために様々な工学的手法が存在するわけですが、そういった手法を自分の仕事とリンクさせるのは結構手間がかかる作業です。(授業や資格試験等でソフトウェア工学の用語を勉強していて、「で?」と思ったことはないでしょうか。僕はあります)本書は科学としてのソフトウェア工学と、「どう書く」という現実のギャップを埋める良書だと思います。

入社直前に読んだ本だったのですが、正直これを読んでいなかったらやばかった、というと大げさかもしれませんが(^_^;)これから仕事や研究プロジェクトでコードを書くけれど、まだちょっと不安だ・・・という方には是非オススメしたいです。

欠点: 厚くて重くて高い!