주장은 기껏해야 순진합니다.
SLOC는 두 개 이상의 프로젝트의 크기를 비교하는 것을 제외하고는 유용한 정보에 대해 정확하게 신뢰할 수있는 지표가 아닙니다. 또한 SLOC에는 물리적 LOC와 논리적 LOC의 두 가지 유형이 있으며 크게 다를 수 있습니다 . Wikipedia의 다음 예제를 고려하십시오 .
for (i = 0; i < 100; i += 1) printf("hello");
여기에는 하나의 물리적 LOC가 있지만 두 개의 논리적 LOC ( for
및 printf
명령문)가 있습니다. 그러나 물론 예를 다음과 같이 작성할 수 있습니다.
for (i = 0; i < 100; i += 1)
printf("hello");
두 개의 물리적 LOC와 두 개의 논리적 LOC를 제공합니다. 실제 LOC에 의존하는 "loc per loc"측정은 프로그래밍 스타일에 의해 오염 될 것이므로 측정이 크게 쓸모 없다고 생각합니다.
반면에 논리적 인 LOC를 사용한다면 언어의 구문 특유성에 따라 측정이 크게 좌우됩니다. 결과 메트릭 은 같은 언어로 작성된 프로젝트를 비교할 때 약간 유용 할 수 있지만 다른 언어로 작성된 프로젝트에는 상당히 쓸모가 없습니다.
클레임의 가능한 원인 중 하나는 Les Hatton의 소프트웨어 장애 및 오류입니다 .
우리는 프로그래밍 언어 선택이 신뢰성과 약하게 관련되어 있다는 결론을 내릴 수 있습니다.
나중에이 논문은 C와 C ++에 대해 비슷한 결함 밀도를 언급합니다.
비슷한 크기의 비슷한 두 시스템 (각각 약 50,000 줄), 하나는 C, 다른 하나는 객체 설계 C ++을 비교 한 최근 연구에서 결과 결함 밀도는 각각 1000 줄당 2.4와 2.9에서 거의 비슷한 것으로 나타났습니다.
그러나 이것이 "LOC 당 버그"가 프로그래밍 언어에서 일정하거나 의미가있는 것은 아니라는 의미는 아닙니다.