LOC 【Lines Of Code】 SLOC / Source Lines Of Code / コード行数

概要

LOC(Lines Of Code)とは、コンピュータプログラムの規模を表す指標の一つで、プログラミング言語で書かれたソースコードの行数のこと。大規模なプログラムでは1000を「KLOC」(kilo-LOC)、100万行を「MLOC」(Mega-LOC)のように補助単位をつけて表現することもある。

一般的なソフトウェア開発工程では人間がプログラミング言語テキスト(文字)形式のソースコードを記述し、これをコンパイラインタプリタなどが解釈して、コンピュータで動作する機械語などで書かれたオブジェクトコードネイティブコード)に変換する。

LOCはソースコード中の改行文字を数え、何行で構成されているかを表す。編集画面の表示上の折返しなどは表示環境によって異なるため考慮せず、行頭から改行文字までを同じとみなす。単純にプログラムの行数自体を計測したものを「物理LOC」(physical LOC)という。

一般的なプログラムには読みやすさなどのために空行など処理上は意味のなさないが大量に含まれる。空行コメントのみの括弧のみのなど機械的に判別できるものを除外して、機械語コードに反映される内容が記述されただけを数えたものを「論理LOC」(logical LOC)という。単にLOCといった場合は論理LOCを指すことが多い。

行数の変動要因

多くのプログラミング言語では同じ処理にも様々な表記法が用意されており、記述の仕方にもある程度の自由度がある。まったく同じ処理内容のプログラムでも書き手によってLOCが大きく異なる場合がある。熟練者ほどコンパクトに、非熟練者ほど冗長になる傾向がある。

実装する機能が同じでも、利用する外部のライブラリや選択するアルゴリズムなどによってもコード規模は変わる。同じ処理でもプログラミング言語によって必要な記述量は大きく違うことが多く、異なる言語間の単純比較はできない。

LOCによる評価

開発規模や発注金額の見積もり、開発者の業績評価などの指標の一つとしてLOCを用いる手法を「LOC法」というが、一般的にはコードをコンパクトにまとめるよりは冗長に記述する方が楽なため、コードが水増しされ品質も下がりがちになるという問題がある。

とは言え、極端に短い記述を目指せば特殊な記法やトリッキーなテクニック、場当たり的で汎用性の低いアルゴリズムが多用され、コードの見通しが悪くなり、可読性保守性拡張性が低下しかねないため、同じ機能ならLOCが少ないほど良いとも言えないジレンマがある。

このような問題を避けるため、ファンクションポイント法などプログラムの記述の仕方の影響を受けにくい計測手法も考案されている。高度な計測手法はLOCより測定や見積もりに手間がかかるという難点もあるため、現在も簡易なコード規模の尺度としてLOCが使われ続けている。

(2024.2.16更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる