การอ้างสิทธิ์คือ - ที่ดีที่สุด - ไร้เดียงสา
SLOC ไม่ใช่ตัวชี้วัดที่เชื่อถือได้สำหรับสิ่งที่มีประโยชน์ยกเว้นว่าอาจเปรียบเทียบขนาดของโครงการสองโครงการขึ้นไป นอกจากนี้ยังมี SLOC สองประเภทที่แตกต่างกันคือ LOC ทางกายภาพและ LOC เชิงตรรกะและอาจแตกต่างกันอย่างมีนัยสำคัญ ลองพิจารณาตัวอย่างนี้จาก Wikipedia :
for (i = 0; i < 100; i += 1) printf("hello");
ที่นี่เรามี LOC ทางกายภาพหนึ่งแห่ง แต่มีสองตรรกะ ( for
และprintf
ข้อความ) แต่แน่นอนเราสามารถเขียนตัวอย่างเป็น:
for (i = 0; i < 100; i += 1)
printf("hello");
ซึ่งจะให้เราสอง LOC ทางกายภาพและสอง LOCs ตรรกะ ฉันคิดว่าเป็นที่ชัดเจนว่าการวัด "บั๊กต่อตำแหน่ง" ใด ๆ ที่ขึ้นอยู่กับ LOC ทางกายภาพจะเสียรูปแบบการเขียนโปรแกรมดังนั้นการวัดของเราจะไร้ประโยชน์อย่างมาก
ในทางกลับกันถ้าเราไปด้วย LOC เชิงตรรกะแล้วการวัดของเราจะขึ้นอยู่กับวากยสัมพันธ์ของภาษานั้น ๆ แม้ว่าการวัดผลที่ได้อาจมีประโยชน์เล็กน้อยเมื่อเปรียบเทียบโครงการที่เขียนในภาษาเดียวกัน แต่ก็ไม่มีประโยชน์พอสมควรสำหรับโครงการที่เขียนในภาษาต่างๆ
แหล่งหนึ่งที่เป็นไปได้สำหรับการอ้างสิทธิ์คือความล้มเหลวของซอฟต์แวร์และความล้มเหลวของซอฟต์แวร์ Les Hatton :
เราสามารถสรุปได้ว่าการเลือกภาษาการเขียนโปรแกรมนั้นเกี่ยวข้องกับความน่าเชื่อถือน้อยที่สุด
หลังจากนั้นกระดาษกล่าวถึงความหนาแน่นข้อบกพร่องที่คล้ายกันสำหรับ C และ C ++:
ในการศึกษาเมื่อเร็ว ๆ นี้เปรียบเทียบสองระบบที่มีขนาดใกล้เคียงกัน (ประมาณ 50,000 บรรทัดต่อหนึ่ง) หนึ่งใน C และอีกหนึ่งใน C ++ ที่ออกแบบโดยวัตถุความหนาแน่นของข้อบกพร่องที่เกิดขึ้นแสดงให้เห็นว่ามีค่าเท่ากับ 2.4 และ 2.9 ต่อ 1,000 บรรทัดตามลำดับ
อย่างไรก็ตามนี่ไม่ได้หมายความว่า "บั๊กต่อ LOC" เป็นค่าคงที่ในภาษาการเขียนโปรแกรมหรือมันจะมีความสำคัญหากเป็นเช่นนั้น