- 1982 में Apple की Lisa software team ने software रिलीज़ के लिए हर developer की साप्ताहिक code line count ट्रैक करने की नीति लागू की
- Bill Atkinson का मानना था कि code lines की संख्या software productivity का गलत मापदंड है
- उन्होंने QuickDraw के region calculation engine को पूरी तरह फिर से लिखा, जिससे लगभग 2,000 लाइनों का code कम हुआ और performance 6 गुना बेहतर हुई
- Atkinson ने code count रिपोर्ट करने वाले management form में -2000 लिखा
- अंततः managers ने Bill से वह form भरने के लिए फिर कभी नहीं कहा
1982 की Lisa software team और code line tracking policy
- 1982 की शुरुआत में, Lisa software team ने अगले 6 महीनों के भीतर software रिलीज़ करने के लक्ष्य के साथ काम तेज़ किया
- कुछ managers ने सोचा कि हर engineer द्वारा हर हफ़्ते लिखी गई code lines को ट्रैक करना प्रगति में मदद करेगा
- इसके लिए हर शुक्रवार engineers द्वारा लिखी गई code lines की संख्या दर्ज करके जमा करने वाला एक form शुरू किया गया
Bill Atkinson की productivity metrics पर राय
- QuickDraw और user interface को डिज़ाइन करने वाले Bill Atkinson का मानना था कि code line count software productivity का सही पैमाना नहीं हो सकता
- उन्होंने ज़ोर दिया कि लक्ष्य program को जितना हो सके उतना छोटा और तेज़ बनाना होना चाहिए
- उनका मानना था कि code line measurement उल्टा अव्यवस्थित और अक्षम code को बढ़ावा दे सकता है
QuickDraw region engine का refactoring और optimization
- Atkinson ने हाल ही में QuickDraw के region calculation engine को एक अधिक सरल और सामान्य algorithm के साथ पूरी तरह फिर से लिखा
- optimization के नतीजे में region operations की speed 6 गुना तक बढ़ गई
- इस प्रक्रिया में 2,000 लाइनों के बराबर code भी स्वाभाविक रूप से कम हो गया
-2000 lines code report और managers की प्रतिक्रिया
- पहले हफ़्ते management form भरते समय, Atkinson ने code lines वाले खाने में -2000 लिख दिया
- managers ने इस संख्या पर कैसी प्रतिक्रिया दी, यह स्पष्ट नहीं है
- कुछ हफ़्तों बाद Bill से कहा गया कि अब उन्हें वह form जमा करने की ज़रूरत नहीं है, और उन्होंने इसे खुशी-खुशी स्वीकार किया
1 टिप्पणियां
Hacker News टिप्पणियाँ
मुझे जो सबसे बेहतरीन commit याद है, वह लगभग 60,000 lines of code हटाने और उस पूरे “server” को, जो सारी state memory में रखता था, करीब 5,000 lines की हल्की logic से बदल देने का अनुभव है
कॉलेज के दिनों में मैंने ऐसी company के लिए काम किया था जिसकी management policy यह थी कि freshers भी अच्छा code लिख सकते हैं, और आख़िरकार वे इसे गलत साबित करने वाले case बन गए
संबंधित विषय पर, “-2000 lines of code” से जुड़ी लोकप्रिय Hacker News threads को लिंक की तरह संकलित किया गया है
जिस web UI project पर मैं काम कर रहा था, उसमें backend को छोड़कर 250,000 lines of code थीं
Dilbert comic में infinite reward structure का एक चित्र है, जहाँ Dilbert का boss कहता है कि हर bug fix पर पैसे मिलेंगे, तो Wally बोलता है, “आज तो मैं भी एक minivan भर code लिखूँगा!”
dotnet/runtime repository में 64,000 lines delete करने का एक वास्तविक उदाहरण साझा किया गया
जब भी मैं LLM से developer productivity बहुत बढ़ जाने वाले आँकड़े देखता हूँ, मुझे यह पुरानी कहानी याद आ जाती है
मैं CS का छात्र नहीं था; मैं काम करते-करते सीखी गई practical knowledge के आधार पर काम करता हूँ
साल के अंत की performance review से पहले मैंने company के monolithic repository में अपने आँकड़े देखे और पाया कि net code के हिसाब से मैं negative contributor बन चुका हूँ
बहुत पहले एक बड़े project में मैंने यह भयावह KPI देखा था कि PL लोग हर developer के bugs की संख्या — किसने fix किए, किसने पैदा किए — offline हाथ से लिखकर दीवार पर चिपकाते थे