BankSalad Go कोडिंग कन्वेंशन
(blog.banksalad.com)- BankSalad टीम ने 4 साल तक Go का सक्रिय रूप से उपयोग करते हुए कई तरह की गलतियों और trial and error के बाद तय किए गए कोडिंग कन्वेंशन
पहले पढ़ने लायक सामग्री
कई कन्वेंशन गाइड और best practices सामग्री जिन्हें कम से कम एक बार पढ़ने की सिफारिश की जाती है
- The Zen of Go
- हर सूक्ति का विस्तृत विवरण: The Zen of Go | Dave Cheney
- हिंदी से अलग एक अनुवाद: Go ka darshan | marsettler.com
- Go Proverbs
- Effective Go | go.dev
- CodeReviewComments · golang/go Wiki | GitHub
- Practical Go | Dave Cheney
- Thanos टीम स्टाइल गाइड(कोरियाई अनुवाद, मूल)
- Uber टीम स्टाइल गाइड(कोरियाई अनुवाद, मूल)
- Ashley McNamara + Brian Ketelsen. Go best practices | YouTube
- Idiomatic Go | Sourcegraph
- Go Style Best Practices | Google
कोडिंग प्रैक्टिस
- Don't panic
- जो फ़ंक्शन panic कर सकते हैं, उनमें
mustprefix लगाएँ / Panic vs Fatal - Panic-safe goroutine / Concurrent-safe तरीके से परिणाम इकट्ठा करना
- Error stacking / Error handling / Error logging
- No named return
- HTTP client सेटिंग / HTTP connection का पुन: उपयोग
- Slice घोषित करते समय len, cap सेट करना / Nil slice vs Empty slice
- Bool map और
struct{}map / Map lookup करते समयokचेक / Avoid map loop - string पर loop करते समय
rangeका उपयोग / string की लंबाई context.TODO()की बजायcontext.Background()का उपयोग- Early return का भरपूर उपयोग
time.Durationका उपयोग / time zone- Table-driven test / No monkey patch / Deterministic test
- Avoid reflect
- Functional options
कोडिंग स्टाइल
ऊपर लिखी गई बातें BankSalad टीम की स्टाइल हैं; हर आइटम को ज्यों का त्यों अपनाने की बजाय अपनी संस्था के हिसाब से विचार करने की सिफारिश की जाती है
- फ़ंक्शन के arguments का क्रम
- test फ़ंक्शन naming
- फ़ाइल के भीतर declaration का क्रम
- import का क्रम
- singular के लिए get, plural के लिए list
- अस्पष्ट शब्दों से बचें
- const naming
- package naming
- project structure
2 टिप्पणियां
:woman_running:
अच्छा लेख, बहुत अच्छी तरह पढ़ा। मेरा मानना है कि देश में Go का सबसे अच्छा उपयोग करने वाली दो कंपनियां BankSalad और AB180 हैं।