1 पॉइंट द्वारा GN⁺ 2024-06-29 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • उसे इतना अच्छा किस बात ने बनाया?
    • क्या कोई था जो अच्छी practices को लागू करवाता था?
    • क्या आप बेहतरीन engineers के किसी group का हिस्सा थे?
    • या फिर कुछ और?

GN⁺ की राय

  • यह लेख एक दिलचस्प सवाल उठाता है कि software development environment में अच्छी practices कैसे बनाए रखी जाती हैं
  • यह समझने में मदद मिल सकती है कि अच्छी practices को लागू करवाने और एक स्वायत्त environment के बीच क्या अंतर होता है
  • ऐसे ही समान features वाले दूसरे projects में Google का Code Review system या GitHub का Pull Request system शामिल हैं
  • नई technology या open source अपनाते समय यह सोचना चाहिए कि उसे team की culture और existing process में कैसे integrate किया जा सकता है
  • अच्छी practices को बनाए रखना team की productivity और code quality बढ़ाने में एक महत्वपूर्ण factor है

1 टिप्पणियां

 
GN⁺ 2024-06-29
Hacker News टिप्पणी
  • Google का monorepo tooling के लिहाज़ से बेहद उत्कृष्ट है

    • पूरे codebase का snapshot कुछ ही सेकंड में बनाया जा सकता है
    • builds पूरी तरह reproducible हैं और build cluster पर चलती हैं
    • build configuration language बहुत सरल और संक्षिप्त है
    • code search तुरंत उपलब्ध है
    • file history तुरंत लोड हो जाती है
    • line-by-line blame कुछ ही सेकंड में लोड हो जाता है
    • लगभग हर file में symbol lookup तुरंत संभव है
    • साझा culture, auto-linter, और presubmit के ज़रिए consistent style लागू की जाती है
    • file/version/line पर deep-link करने वाले shortcuts हैं, जिससे code share करना आसान होता है
    • कई presubmit checks code/test quality सुनिश्चित करते हैं
    • code review और code change के समय test pairing अनिवार्य है
  • AOL का server code बहुत उत्कृष्ट था

    • इसे उन लोगों ने लिखा था जिन्हें Unix programming और event loop के इस्तेमाल की गहरी समझ थी
    • यह C language में लिखा गया था, और उम्मीद की जाती थी कि यह महीनों तक crash हुए बिना चलेगा
    • असामान्य shutdown होने पर owner को email से core backtrace भेजा जाता था
    • memory leak होने पर operations team तुरंत प्रतिक्रिया देती थी
    • हर चीज़ को restart के बिना चल रहे server पर फिर से reload किया जा सकता था
    • TCP control port और TCL interpreter का इस्तेमाल करके server को manage किया जाता था
    • "No Threads Kernel" के साथ यह दर्जनों से लेकर सैकड़ों physical machines तक scale हुआ
    • 200 Unix developers के बीच एक साझा समझ थी
    • technical writers developers का interview लेकर ऐसी किताबें लिखते थे जिन्हें बाहरी developers तक पहुंचाया जा सके
    • disk पर लिखे बिना network messages भेजने और प्राप्त करने के सिद्धांत का पालन किया जाता था
  • पिछली नौकरी का codebase बहुत उत्कृष्ट था

    • engineers के पास शानदार skills थीं और उनमें ego नहीं था
    • टीम में 4 senior और 3 principal engineers थे
    • हर नई requirement आने पर उस पर सभ्य तरीके से चर्चा होती थी
    • junior members भी मौजूदा code को आसानी से follow कर सकते थे
  • Postgres codebase बहुत अच्छी तरह संगठित है

    • memory safety की चिंता करने की ज़रूरत नहीं पड़ती
    • macros का सावधानी से इस्तेमाल करके इंसानों का सम्मान किया गया है
    • Postgres codebase को development का gold standard माना जाता है
    • pgrx टीम को धन्यवाद
  • बड़े Python service का integration test framework बहुत उत्कृष्ट था

    • यह मौजूदा integration test framework के ऊपर बनाया गया था
    • test components के लिए स्पष्ट semantics परिभाषित किए गए थे
    • test components को शुरुआती set के रूप में बनाया गया था
    • code review के ज़रिए यह सुनिश्चित किया जाता था कि नए components उन semantics का पालन करें
    • लंबे समय में यह अच्छी तरह काम नहीं कर पाया
  • Google3 codebase बहुत विशाल है और अच्छी तरह काम करता है

    • हर बदलाव पर dependencies फिर से चलाई जाती हैं
    • commits efficient immutable snapshots हैं
    • यह GitHub से कहीं बेहतर है
  • मैंने खुद जो codebase लिखा, वही सबसे उत्कृष्ट था

  • Cocotron codebase बहुत प्रभावशाली था

    • मैं यह खोज रहा था कि Mac Cocoa app को Windows पर कैसे port किया जाए
    • एक ही व्यक्ति ने सभी ज़रूरी APIs implement कीं
    • इसे जटिल custom GUI app में सफलतापूर्वक इस्तेमाल किया गया
    • focus महत्वपूर्ण है
  • Facebook का codebase लगातार code upgrades संभव बनाता है

    • language design और tools पर बहुत मेहनत की गई
    • पुराने code को लगातार upgrade किया जाता है
    • दूसरी कंपनियों के codebases में बड़े rewrite के बाद transition मुश्किल था
  • CouchDB का HTTP API एक ही file में समाहित था

    • database और web programming सीखने के लिए यह एक अच्छा शुरुआती बिंदु था
    • बाद में इसे टीम ने refactor किया
    • inspiration से वास्तविक उपयोग तक के बदलाव को देखना दिलचस्प था