mattak's blog

人生を1ミリ進める

プロジェクト全体のコードの行数からいい感じかどうか知りたい

数年前のプロジェクトで100行未満のファイルをプロジェクト全体の95%にする。 という趣意でメンテしやすさを確保しようとした。 (テストやコードジェネレートしたものは除いて計測するような指標)

speakerdeck.com

これはわりと簡便で良い指標だと個人的に感じている. どんなプログラミング言語アーキテクチャでもすぐに適用でき、ある程度プロジェクトの健康状態がそこからわかるからだ。 この話をすると、クラス感の依存関係をみたり、コミットログでの編集頻度などより複雑な解析しようと試みる人がいる. それはそれでとても良いのだけど、個人的にはこの指標の柔軟さ、簡便さ、費用対効果の高さが気に入っている.

ファイル行数の分布グラフがばらついているプロジェクトは、だいたい何か設計や機能が失敗している. 昔どこかの勉強会で、行数が多いほどエンバグする可能性が高まるという当たり前の事実を聞いた。 実体験としてはこれはまさしくその通りで、たいてい行数が多いファイルは何か失敗しているし、過去数プロジェクトでも同じ傾向がみられた。 自分がリードした過去3プロジェクトでは、アーキテクチャは違えど、この基準を全てで満たすように設計できた。

この測定を自分はコマンドラインでかき捨てのスクリプトを書いてやることが多かったのだけど、 簡便に実行できるようなツールやサービスをつくってみたい.

ちょうどrails学んでいるので、railsで何か書いてみようと思う。

という意気込みだけを雑に書く

試行回数5