コードコンプリート

本書は名著ですが、残念ながらすべて読んだという人の話は聞いたことがありません。

 

本著をじっくり読むことができなければ、以下で示すレベル②を超えることはできません。

 

レベル④の指導者を目指すステップのひとつとして、このコードコンプリートが役に立てばうれしいです。

 


◆ エンジニアの4つのレベル


レベル① : 初級者

 

ひとつの言語の基本的な機能を使用できる。

クラス、ルーチン、ループ、条件文を書くことができ、言語の機能の多くを使用できる。

 

 

レベル② : 中級者

 

複数の言語の基本的な機能を使用することができ、少なくともひとつの言語を使いこなしている。

 

 

レベル③ : 上級者

 

言語、環境、または両方の専門知識を持っている。

 

このレベルのプログラマはJ2EEの難解な機能をすべて知っていたり、『Annotated C++ Reference Manual』を記憶していたりする。

 

企業にとっては貴重な存在であり、多くのプログラマはこのレベルを超えられない。

 

 

レベル④ : 指導者

 

レベル③クラスの専門知識を持ち、プログラミングにおいてコンピュータとのやり取りは15%にすぎず、85%が人のコミュニケーションであることを心得ている。

 

指導者はマシーンではなく人が読むためのコードを書く。

 

このレベルのプログラマは水晶のように澄み切ったコードを書き、しかもそれを文書化する。

 


◆ 『型』を教える


どんなスポーツ、芸術、芸道にも型はあるが、合理追求の結晶ともいうべきそれは、なぜか常に美しさをも備えている。

 

だからこそ、初心者にはまず型を教える。

 

ソフトウェアでいえば、「読みやすいコードを書く」ということになります。

 

読みやすいコードを書くためには良いスタイルを学ぶ必要があります。

 

良いスタイルは習慣の問題です。

あなたがコーディングするとき、スタイルについて考え見直し改善していけば良い習慣が身につくようになります。

 

そして、それが自然にできるようになれば、短納期で仕上げなくてはいけない状況だったとしても優れたコードを書けるようになっています。

 


◆ 良いコーディングとそのテクニック


・プロジェクトのそれぞれの作業を2人で分担する。

 

・コードレビューを1行ずつ行う

 

・コードのサインを要求する

 

・良いサンプルコードに基づいてレビューを進める

 

・コードが共有資産であることを強調する

 

・良いコードを称える

 

・一つの簡単な標準をまとめる

 

プロジェクトを成功させたいなら、プロジェクトで書かれたコードはすべて私が読んでも理解できるものでなければならないと宣言しましょう。