2011年6月13日月曜日

可読性の高いコードにはルールが必要

 チームで開発を行うと、必ず「ルール」が必要になる。よくある規約としては、開発手法を定めた「開発規約」や、どのようなテストをどれだけ行うかを定めた「テスト規約」などがある。

 コードを書く際、どのプログラミング言語にも最低限のルールは存在する。しかし、すべてのエンジニアがそれを熟知しているとは限らない。ルールを知らないエンジニアが書いたコードは、本人にしか理解できないものになる。そのようなコードを1つ許せば、いずれシステム全体が混沌状態に陥り、システムの品質を落としてしまう。

 では、厳密にコードを書くためのルールを決めれば、問題は解決するか?

 必ずしもそうとは限らない。ルールは、時としてコードを書く上で足かせとなる。ガチガチに規約で縛ると、ルールを守るために冗長なコードを書いたり、必要以上の実装を求められたりと、生産性を落とすことになりかねない。実装の自由度を十分に残しつつ、一定のルールを決定することは非常に難しい。

 すべての規約に星1つ〜星5つの評価を付け、星の数でルールの重要度を示している。ある程度のJavaの知識を持つエンジニアにとって、星5つのルールは「無意識のうちに守っている」というレベルだ。しかし、逆にJavaの知識に自信のないエンジニアにとって、星5つのルールはJavaの書き方の基礎を固めるのにちょうどいいだろう。まずは星5つのルールを重点的に読み、それから星数が少ないものへと進めていくと、より良いJavaソースの書き方を身に付けることができる。

0 件のコメント:

コメントを投稿