アジャイルプラクティス(第六章)

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣

この章はコーディングについて。本章にある「意図を明確に表現するコードを書く」という節は、当たり前のことしか書いていないが、実際はこれができていないことが多い。最近の実例をご紹介。

Javaでのこと。コーディング規則に「同じ意味で使われている定数は定数化すること。」とあり、それに忠実?に従った子が次のようにプログラムを修正してきた。

final String STR_1 = "1";
final String STR_2 = "2";
final String STR_3 = "3";

えぇ!?と我が目を疑ったが、実際に起きた事実である。これでは、1がどのような意味を持ち、2がどのような意味を持つかなど想像すらつかない。

個人的に、このような話はいくらでも聞くのだが、実際に我が身に降り掛かるとは思わなかった。本書では

コードは、書くことよりも読まれることのほうがずっと多い。

と説いている。このことを理解し、身につけるためにはたくさんコードを書き、たくさんコードを読むしかない。

また、ほかの節「凝集度の高いコードを書く」とか「"Tell,Dont't Ask" -求めるな、命じよ」ではオブジェクト指向ならではのクラス設計について書かれている。このクラス設計を身につけるのも、たくさんのコードを書き、たくさんのコードを読むしかないだろう。

ということで、副読本。CodeReading。分厚い本ですけど、読んでおくと必ず役に立つ。

Code Reading―オープンソースから学ぶソフトウェア開発技法

Code Reading―オープンソースから学ぶソフトウェア開発技法