मैं एक कंपनी में काम कर रहा हूं जो जोएल टेस्ट में 11 स्कोर करेगी - कम से कम कागज पर।
व्यवहार में, हालांकि, कुछ भी काफी उम्मीद के मुताबिक काम नहीं करता है, और यह परियोजना डेफ़न 1 पर आधे साल के लिए है। अब, मेरे अधिकांश साथी खुश हैं यदि वे रविवार शाम 6 बजे घर वापस जा सकते हैं।
स्पष्ट रूप से अच्छी प्रथाओं में से एक, जिसने मुझे काम नहीं करने के रूप में मारा, स्थैतिक विश्लेषण उपकरण का उपयोग है। परियोजना दोनों gcc-wall चेतावनियों और एक स्वामित्व और बहुत महंगी "C / C ++" टूल को ट्रैक करती है ।
Gcc चेतावनियाँ वास्तविक (यदि अधिकांश समय अप्रभावी) बग की ओर इशारा नहीं करती हैं तो अधिक बार करती हैं।
मालिकाना उपकरण, हालांकि, ऐसी चीजों को सूचीबद्ध करते हैं जैसे कि अंतर्निहित जातियां और एक स्ट्रिंग शाब्दिक आकार। उनकी शैली की किताबों पर नकली कलाकारों को भी ब्लैकलिस्ट किया गया है।
मानक अभ्यास यह है कि लोगों को हर एक चेतावनी को बंद करने के लिए दबाया जाता है। ध्यान दें कि यह उन चेतावनियों को बाहर करता है जो मुख्य रूप से गलत सकारात्मक हैं, यह समस्या नहीं है।
परिणाम है:
- लोग हर रिवायत में टाइप कास्ट जोड़ते हैं और हर तर्क को प्रक्रिया में वास्तविक समस्याग्रस्त प्रकार बेमेल छिपाते हैं।
- लोग एक कीड़े से परिचय कराते हैं, या एक अलग समस्याग्रस्त भाषा सुविधा का उपयोग करते हैं।
- चेतावनियों को चुप करा दिया जाता है।
- बग रिपोर्ट में रोलिंग शुरू होती है।
मुख्य बिंदु यह है कि मूल कोड उन लोगों द्वारा काम और लिखा गया था जो अपनी भाषा क्षमताओं के भीतर सुरक्षित खेल रहे थे, जबकि फिक्स नहीं थे।
अब, मुझे नहीं लगता कि वास्तव में इस कंपनी को बचाया जा सकता है। हालांकि, मैं जानना चाहता हूं कि क्या कोई बेहतर, अधिमानतः काम करने का तरीका है, "प्रो" टूल का उपयोग करने का तरीका या अगर मुझे भविष्य में निर्णय लेने वाला है तो मुझे पूरी तरह से उपयोग करने से बचना चाहिए।
एक समाधान जो सभी प्रोग्रामर को नहीं मानता है वह जीनियस हैं जो गलत नहीं कर सकते हैं। क्योंकि ठीक है, अगर वे हैं, तो पहली जगह में उपकरण का उपयोग करने की कोई आवश्यकता नहीं है।