दावा है - सबसे अच्छा - भोला।
एसएलओसी कुछ भी उपयोगी के लिए बिल्कुल विश्वसनीय मीट्रिक नहीं है, शायद दो या अधिक परियोजनाओं के आकार की तुलना करने के अलावा। इसके अलावा एसएलओसी, भौतिक एलओसी और तार्किक एलओसी के दो अलग-अलग प्रकार हैं, और वे काफी भिन्न हो सकते हैं। इस उदाहरण पर विचार करें, विकिपीडिया से :
for (i = 0; i < 100; i += 1) printf("hello");
यहां हमारे पास एक भौतिक LOC है, लेकिन दो तार्किक ( for
और printf
कथन) हैं। लेकिन हम निश्चित रूप से उदाहरण लिख सकते हैं:
for (i = 0; i < 100; i += 1)
printf("hello");
जो हमें दो भौतिक और दो तार्किक LOC प्रदान करेगा। मुझे लगता है कि यह स्पष्ट है कि कोई भी "बग प्रति नियंत्रण" माप जो कि भौतिक LOC पर निर्भर करेगा, प्रोग्रामिंग शैली द्वारा दागी जाएगी, इस प्रकार हमारा माप काफी हद तक बेकार हो जाएगा।
यदि, दूसरी ओर, हम तार्किक LOCs के साथ चले गए, तो हमारा माप भाषा की वाक्यविन्यास idiosyncrasies पर बहुत अधिक निर्भर करेगा। यद्यपि एक ही भाषा में लिखी गई परियोजनाओं की तुलना करते समय परिणामी मीट्रिक थोड़ी उपयोगी हो सकती है, लेकिन यह विभिन्न भाषाओं में लिखी गई परियोजनाओं के लिए काफी बेकार होगी।
दावे के लिए एक संभावित स्रोत लेस हैटन के सॉफ्टवेयर विफलताओं-फॉलियों और पतन :
हम यह निष्कर्ष निकाल सकते हैं कि प्रोग्रामिंग भाषा की पसंद विश्वसनीयता से सबसे कमजोर रूप से संबंधित है।
बाद में, कागज में C और C ++ के समान दोष घनत्व का उल्लेख किया गया है:
हाल के एक अध्ययन में समान आकार की दो समान प्रणालियों की तुलना, (लगभग 50,000 लाइनें प्रत्येक), सी में एक और ऑब्जेक्ट-डिज़ाइन किए गए C ++ में एक, परिणामी दोष घनत्व क्रमशः 2.4 और 2.9 प्रति 1000 लाइनों पर समान रूप से दिखाए गए थे।
हालांकि, इसका मतलब यह नहीं है कि "बग प्रति LOC" प्रोग्रामिंग भाषाओं में निरंतर है, या यह महत्वपूर्ण है कि अगर यह होता।