- 2007, 2000 लाइनों का कोड
(folklore.org)The Original Macintosh: 36 of 123 - 2000 Lines Of Code
-
1982 की शुरुआत में, Lisa software team अगले 6 महीनों के भीतर software जारी करने के लिए अंतिम चरण के काम पर ध्यान केंद्रित कर रही थी।
-
कुछ managers ने सोचा कि हर engineer द्वारा हर हफ्ते लिखे गए code की मात्रा को track करना एक अच्छा विचार है, और उन्होंने एक form बनाया जिसे हर शुक्रवार जमा करना होता था। इस form में उस हफ्ते लिखी गई code lines की संख्या भरने के लिए एक field शामिल था।
-
Quickdraw के लेखक और प्रमुख user interface designer Bill Atkinson का मानना था कि code lines की संख्या software productivity को मापने का एक मूर्खतापूर्ण तरीका है, क्योंकि यह केवल गंदा, फुलाया हुआ और error-भरा code लिखने के लिए प्रोत्साहित करता है।
-
Atkinson हाल ही में Quickdraw की region calculation machine को optimize करने पर काम कर रहे थे, और उन्होंने एक अधिक सरल और सामान्य algorithm का उपयोग करके region engine को पूरी तरह फिर से लिखा, जिससे कुछ tweaks के बाद region operations लगभग 6 गुना तेज हो गए।
-
इस rewrite के परिणामस्वरूप साथ ही लगभग 2000 lines of code की बचत हुई।
-
Optimization के अंतिम चरण में जब पहली बार management form भरने का समय आया, तो code lines वाले हिस्से पर पहुँचकर उन्होंने थोड़ी देर सोचा और वहाँ संख्या
-2000लिख दी। -
Managers ने इस पर कैसी प्रतिक्रिया दी, यह निश्चित नहीं है, लेकिन कुछ और हफ्तों बाद उन्होंने Atkinson से form भरने को कहना बंद कर दिया, और उन्होंने भी खुशी-खुशी इसका पालन किया।
GN⁺ की राय
- यह लेख एक महत्वपूर्ण सीख देता है कि software development में code की मात्रा वास्तविक productivity को नहीं दर्शाती। code lines की संख्या के आधार पर performance मापना न केवल अप्रभावी है, बल्कि कभी-कभी उल्टा असर भी डाल सकता है।
- Bill Atkinson का उदाहरण software optimization के महत्व को रेखांकित करता है। कम code के साथ तेज performance हासिल करना software engineering के मूल सिद्धांतों में से एक है।
- यह कहानी यह समझने में मदद करती है कि आधुनिक development practices, खासकर agile methodology और continuous integration/deployment (CI/CD) जैसे approaches, क्यों महत्वपूर्ण हैं। ये methodologies code की मात्रा से अधिक quality, maintainability और user experience को महत्व देती हैं।
- उद्योग में code quality को मापने और सुधारने के लिए विभिन्न tools और metrics का उपयोग किया जाता है। उदाहरण के लिए, static code analysis tools, code review process और test coverage tracking जैसी चीजें शामिल हैं।
- यह लेख developers को याद दिलाता है कि code की मात्रा से अधिक quality पर ध्यान देना, अनावश्यक complexity से बचना और performance को optimize करना कितना महत्वपूर्ण है।
1 टिप्पणियां
Hacker News राय
Microsoft और IBM के बीच code line count को लेकर टकराव
पिछली चर्चाओं के लिंक
code line count को productivity metric बनाना बेहद मूर्खतापूर्ण है
'order by'से सुलझाया गया। इससे यह सवाल उठता है कि एक लाइन के code के प्रभाव को कैसे मापा जा सकता है। यह अनुभव भी साझा किया गया कि खराब programmer ज़्यादा code लिखते हैं, और Microsoft के एक developer ने IBM के 33,000 characters के code को 220 characters में फिर से लिखा। इसके कारण Microsoft के काम को 'negative' माना जाने जैसी स्थिति पैदा हुई.कभी-कभी साधारण सवाल सबसे बड़ा असर डालते हैं
करियर की शुरुआत में code optimization का अनुभव
project की शुरुआत में स्पष्ट दिशा का अभाव
code हटाने को metric बनाने पर एक thought experiment
Bill Atkinson का Atkinson Dither
code lines के बारे में सोचने का नज़रिया
कर्मचारी के रूप में भूमिका