SLOCとは? わかりやすく解説

Weblio 辞書 > 同じ種類の言葉 > 交通 > > > SLOCの意味・解説 

LOC

(SLOC から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/20 04:18 UTC 版)

ナビゲーションに移動 検索に移動

LOCは、lines of codeの略で、ソフトウェアの規模を表す指標のひとつ。ソースコードの行数を意味する。何の行数かを明確に示すため、SLOC (source lines of code) ということもある。

テキストファイルとしての行数を物理LOC (physical LOC) というが、これをそのまま使うことは少ない。空行(改行など空白だけの行)やコメント行(コメントと空白だけの行)は除く、2つの命令が書かれた行は2行と数える、括弧だけの行を除くなどの換算をした行数を論理LOC (logical LOC) といい、通常はこちらを使う。ただし、細かい規則にはさまざまな流儀がある。物理行数であればwc -lなど汎用の行数を数えるツールで、論理行数であれば汎用のテキスト処理ツールを利用するなどして、作業を自動化できる。

問題点

LOCには以下のような問題がある。

  • ソフトウェアのサイズを表すが、機能の量や開発工数の結びつくものではない。また書き方次第で簡単に水増しできる。
  • 優れた開発者や開発チームは少ないLOCで多くの価値を提供するが、未熟なチームだとLOCは多くとも実現する機能は少なく、質は悪くなる。そのためLOCと開発コストを紐付けることはできない。
  • プログラミング言語の記述にはある程度の自由度があり、まったく動作が等しいプログラムであってもさまざまな記述ができる。これは特に、C言語の流れを汲む自由度の高い言語で著しい。
  • 同じまたは類似の処理をコピー&ペーストすればLOCは簡単に増える。マクロ化、関数化、クラス化などすれば、ソースコードは読みやすく保守しやすくなるが、LOCは減る。
  • 同じ問題を解決するためにもさまざまな解決法があり、無駄な処理をしたり効率の悪いアルゴリズムを使ったりすればLOCは増えることが多い。
  • 同じ処理内容であっても、プログラミング言語の種類によって必要なLOCは大きく変わる。たとえば、C言語を基準にすると、COBOLFORTRANは数倍、アセンブリ言語では十倍以上の行数が必要であることが多い。ただしこれは、ソフトウェア開発のコストの指標としてはむしろ適切な長所であると言える。

このような問題があるため、LOCでソフトウェアの実際の規模を測るのは難しい。そのため、LOCに変わる指標としてファンクションポイント法などが利用されてきている[1]

簡単な例

1からnまでのを計算するC++のプログラムを例に取る。次の標準的なソースコードのLOCは(物理LOC、論理LOCとも)3行である。

int s = 0;
for (int i = 1; i <= n; i++)
    s += i;

コメント行があっても論理LOCは同じ3行である。(物理LOCは4行である)

// 1からnまでの和
int s = 0;
for (int i = 1; i <= n; i++)
    s += i;

次のソースコードは論理LOCが4行だが、処理内容はまったく同じである。

int s = 0;
int i = 1;
for (i = 1; i <= n; i++)
    s += i;

次のソースコードは、同じ結果を出す非常に高速なアルゴリズムで、論理LOCは1行である。

int s = (n + 1) * n / 2;

実際の製品の例

How Many Lines of Code in Windows?, Knowing.NET, (December 06, 2005), http://www.knowing.net/PermaLink,guid,c4bdc793-bbcf-4fff-8167-3eb1f4f4ef99.aspx 2007年10月18日閲覧。  より。

製品名 100万SLOC
1993 Windows NT 3.1 4-5
1994 Windows NT 3.5 7-8
1996 Windows NT 4.0 11-12
2000 Windows 2000 29以上
2001 Windows XP 40
2003 Windows Server 2003 50

関連項目

脚注




SLOCと同じ種類の言葉


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「SLOC」の関連用語

SLOCのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SLOCのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのLOC (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS