今回は、コードレビューの観点まとめについて、記載していきたいと思います。
<コードレビューでプラス事項>
- 誰がひきついでもわかりやすく、読みやすいコード
- 変数名や関数名が工夫されていてコメントが少なく読みやすいコード
- 変数のスコープが必要最低限になっているコード
- constとconstexprを適切に使って定数と変数が区別されているコード、インスタンス変数を書き換えないメソッド
- 問題を解くためのデータ構造とアルゴリズムが隠蔽されていて、その2つを変更してもユーザーコードの変更がいらないように設計されているクラス
- 使用変更や機能拡張が容易なコード
- assertやStatic_assertが適切に使われており、事前条件を確認し、契約によるプログらイングができているコード
- 再利用性が高くなるように責務分割されたコード
<コードレビューでマイナス事項>
- 1つの関数であれもこれもやっている関数。凝縮度が低い関数。
- ファイル分割されていないプログラム
- ファイル分割のねらい、基準がはっきりしないプログラム
- ユーザーにとってインタフェースが使いやすく設計されていないクラス。 (ユーザーコードがきれいに書けないインタフェース)
- 階層化されておらず、レベルの違う処理を順番に読み出すだけの関数