मुझे पता है कि यह कहना अजीब लगता है, लेकिन काम पर एक साथी प्रोग्रामर ने जानबूझकर खराब प्रोग्रामिंग प्रथाओं के एक जोड़े का इस्तेमाल किया! मैं समझाऊंगा। पहले मुझे यह कहना चाहिए कि वह एक बुद्धिमान लड़का है और अधिकांश भाग के लिए वह समझदार कोड लिखता है।
उन्हें जावा में लिखित एक वेब एप्लिकेशन प्रोजेक्ट पर लाइसेंस लागू करने के लिए कहा गया था। चूंकि यह जावा है, अगर कोई वास्तव में चाहता था, तो कोई शायद खुले जार को हैक कर सकता था और अंदर लिखी कक्षाओं और विधियों के नाम पढ़ सकता था। इस समस्या का उनका समाधान वस्तुतः चर-अचरजों को कम-से-स्पष्ट नामों से पुकारना और नई कक्षाओं को उत्पन्न करने के बजाय पहले से ही भीड़भाड़ वाली कक्षाओं के अंदर रखना था।
उनका औचित्य यह था कि यदि कोई हैकर लाइसेंस जाँच को बायपास करने के लिए (और इसलिए उत्पाद की नि: शुल्क प्रतिलिपि प्राप्त करना चाहता है) कुछ वर्गों को बंद करना चाहता है, तो उसके पास अधिक कठिन समय होगा यदि यह स्पष्ट नहीं था कि कौन से तरीके हैं ये विशेष कार्य करें। जब उसने ऐसा किया था, उसके बाद ही मैंने उससे इस बारे में सामना किया था, यह सुझाव देते हुए कि हम अच्छी प्रोग्रामिंग प्रथाओं को बनाए रखते हुए, शायद हमारे लिए इसे करने के लिए किसी प्रकार की ऑबफ्यूज़र लाइब्रेरी खरीद सकते हैं। वह दावा करता है कि उस तरह के समाधान की खोज के लिए समय या संसाधन नहीं था।
.. जो मुझे एक दुविधा में छोड़ देता है। क्या मैं जावा में एक ऑबफ्यूज़ेटर लाइब्रेरी की तलाश करता हूं और उसका पुराना कोड ठीक कर सकता हूं (जो उसके कोड को रीमॉडेल करने के बारे में थोड़ा मार्मिक हो सकता है), या क्या मैं इसे उतना ही छोड़ दूं, जितना कि मुझे कोई अंत नहीं है?