プログラミングテクニックのまとめ

あとで調べる

プログラミング日記

* 汎用コード内で条件分岐コードを減らせ

他はifをポリモーフィズムによりなくせなど。条件分岐は汎用性を損なう原因となる。もしくは、1つのロジックの中に2つのロジックが混ざってしまっていて、きちんと分離できていない証拠。テクニックとしては、汎用的なコードをある関数にまとめた場合、その関数の外に条件分岐コードを追い出す。インタフェース、Duck Typing、ハッシュ(辞書)などを利用してifやswitchをなくせる。

* コードの階層化を意識せよ

ソースコードの階層はフラットではない。関数呼び出しを重ねていくとだんだん上の階層になってくるが、上と下の関数は明らかに意味が違う。私は以下のように分類している。一番下の階層がアプリに依存しない汎用的な処理(ライブラリ)である。次の階層が分野(ドメイン)に特化した汎用的な処理(ライブラリ)である。次の階層がアプリ自体の処理(業務ロジック)である。フレームワークなども考えるともっと階層化されるかもしれない。しかしこの程度でも意識するのとしないのでは、ものすごく違いが出ると思われる。