【えすろっく】
SLOC(ソースコード行数) とは?
💡 コードの量を数える物差し、ただし質は測れない
📌 このページのポイント
SLOCって、ただコードの行数を数えるだけなの?
基本的にはそうだよ。でも単純に見えて奥が深いんだ。空行やコメント行を含めて数える「物理SLOC」と、実際に動くコードの文だけを数える「論理SLOC」の2種類があるんだよ。同じプロジェクトでも、どちらで数えるかで数値がかなり変わるんだ
行数が多いほど優秀なプログラマってことなの?
実はその逆のことも多いんだ。優秀なエンジニアほど少ない行数で同じ機能を実現できる。SLOCで生産性を評価しようとすると『わざと冗長に書いた人が高評価になる』という皮肉な結果になりかねないんだよ
じゃあSLOCは何の役に立つの?
どうやって数えるの?手で数えるのは無理だよね?
SLOCの代わりにもっといい指標はないの?
SLOCだけに頼らず、複数の指標を組み合わせるのが今の主流だよ。たとえばサイクロマティック複雑度(コードの分岐の多さ)、コードカバレッジ(テストの網羅率)、チャーン率(変更頻度の高いファイル)などを併用するんだ。SLOCは『規模の目安』として使い、品質は別の指標で測るのがベストだよ
まとめ:ざっくりこれだけ覚えればOK!
「SLOC」って出てきたら「ソースコードの行数で規模を測る物差し」と思えればだいたいOK!
📖 おまけ:英語の意味
「Source Lines of Code」 = ソースコードの行数
💬 Source(ソース)Lines(行)of Code(コード)の頭文字を取った略語だよ。LOC(Lines of Code)と呼ばれることもあるよ