ThoughtWorksアンソロジーの

やっぱりちょっと傷心なのかもしれない今日。
それはいいとして、先日からオフの時に遊びで書いてるプログラムを、ThoughtWorksアンソロジーに載ってるエッセイで紹介されている "else 句を使わない" などのルールで試してるんだけど……かなり厳しいなぁ。
ちょっと試しただけでも、何を理想としてこういうルールを考えたのかは結構理解できたつもりだけど、特に苦しいのは

2. else 句を使用しないこと
7. 1つのクラスにつきインスタンス変数は二つまでにすること

あたり。
else 句の件の説明には三項演算子は使ってよいように書いてあるので
・else 句を伴う if 文では then 部分も else 部分も一行に納めること。また else-if は禁止。
とかでもいいんじゃないかと思う。

3. 全てのプリミティブ型と文字列型をラップすること

に関しては激しく同意できる。これは静的型付け言語では、アプリケーションハンガリアンの進化版(コンパイラのチェックが使える)にもなる。

4. 1行につきドットは1つまでにすること

も同意できる。ごちゃごちゃ一行に書くのは嫌いだ。
意外と盲点だったのは

1. 1つのメソッドにつきインデントは1段階までにすること

の効用がすごく高いことだった。
今まではダイクストラ宜しく『構造化フロー制御が正しくできてればブロックのネストが深くなることなんか気にしねえ!!』という派閥だったのだけど、これは可読性と詳細設計に大きな差が出るわ。


でまあ、これをやっていくと小さなクラスが沢山出来ることになるはずだけど、それの是非についてはもうちょっと試してから確認したいと思う。
結局は難しさは一定で、それをどこに持って行くかっていう話になるような気がするんだけど、現段階ではまだ推測だけなので身をもって体験してみないとなんとも言えないしねー。