Lines Of Code

LOC(Lines Of Code)についての詳細



LOC、すなわちLines Of Codeは、ソフトウェアの規模を測るために利用される指標であり、主にソースコードの行数を意味します。しばしばLOCと略されますが、より具体的に示すためにSource Lines Of Code(SLOC)とも呼ばれることがあります。この指標は、プログラムの物理的な行数を参照することが多いですが、これにはいくつかの重要な配慮が必要です。

物理LOCと論理LOCの違い



ソフトウェアの行数には、2つの主なカテゴリがあります。物理LOC(physical LOC)は、テキストファイル内の行数そのものであり、空行やコメント行も含まれます。一方、論理LOC(logical LOC)は、実際にプログラムの実行に関わる行数に焦点を当て、無駄な行を除外することでより意味のある計測が可能になります。この論理LOCを算出する際には、コメントや空行を省くことが一般的です。たとえば、2つの命令が記載された行は2行とカウントされますが、括弧だけの行は無視されます。

論理LOCの算出には、wc -lなどのツールが使用され、空行やコメントなどを取り除いて精度を高めます。これにより、開発者はソフトウェアの規模をより正確に把握し、様々な観点で分析を行うことが可能になります。

LOCの問題点



しかし、LOCにはいくつかの問題が指摘されています。まず、LOCはソフトウェアのサイズを測るものの、必ずしも機能の量や開発にかかる工数に直結しません。コーディングスタイルによって簡単に行数を増やすことができるため、その値が必ずしも有意義な指標とは言えないのです。優れた開発者やチームは、少ないLOCで高い価値を提供できるのに対し、未熟なチームは多くの行数を生成しても、機能が貧弱であったり品質が低い場合があります。このため、LOCと開発コストの関係を明確にすることが難しくなっています。

さらに、プログラミング言語にはそれぞれ特徴があり、同じ機能を実現するためのコードは言語によって大きく異なります。具体的には、C言語を基準にした場合、COBOLやFORTRANでは行数が数倍に増加することがあり、アセンブリ言語に至っては10倍以上の行数を必要とすることさえあります。この特性は、時としてソフトウェア開発のコストに関連する適切な長所とも言えます。

LOCの実際の例



たとえば、1からnまでの和を計算するC++プログラムを考えてみましょう。このプログラムの標準的な実装は物理LOCおよび論理LOCともに3行です。コメント行を加えた場合でも論理LOCは変わりませんが、物理LOCは4行となります。また、別の実装方法でも論理LOCは4行でありながら、処理内容は同じです。更に、非常に効率的なアルゴリズムを用いると、論理LOCはなんと1行に圧縮されます。

このように、同じ処理を行うソースコードでも、記述方法やアルゴリズムによってLOCが大きく変動することがわかります。これにより、LOCだけでソフトウェアの真の規模を測ることが難しいことが理解できます。そのため、LOCの代わりにファンクションポイント法など、他の指標を使用することが一般的です。これらの指標は、ソフトウェアの機能や開発プロセスに焦点を当てることで、より正確な評価を可能にします。

参考文献


もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。