レビューに上がってきた以上、必要な機能はできているとする。その上で、メンテナンス性や品質を上げるためのレビューポイントを纏めてみる。まだ草案です。
変数名・関数名は理解しやすいか
変数であれば、そこに入る値と関連のある名前かどうか。関数であれば、内容を推測できるか、副作用の有無が暗示されているか。
無駄にネストしていないか
Readable Code 7.7 参照。ネストを浅くするのを目的とすべきではないが、ネストを浅くしたほうが読みやすいことが多い。
条件式は理解しやすいか
条件式はなるべく単純にする。not/and/or が入る場合はunlessは使わない。ガード節であれば、下記のように単文ifを並べるほうがよい。
return if $s > 10;
return if $s < 0;
return if $s % 2 == 0;
…;
無駄なコメントはないか
単にコードを言い換えただけのコメントは不要である。
クラス設計は単純か
同じも機能を提供するものであれば単純なもののほうがよい。
関連したクラスであれば無駄にファイルを分ける必要もない(これは言語にもよるが)。
クラス同士は疎結合か
密結合したクラスは理解しにくい。
テストしやすい設計になっているか
一般に、疎結合したクラス群はテストしやすい。
コードの再利用はできているか
同じようなコード片をプログラム中にばらまくのは悪である。
グローバル変数を使っていないか
グローバル変数を使うとプログラムの思わぬ部分が結合してしまう。