मेरे पास यह देखने के लिए निम्न कोड है कि कोई गेम इकाई एक खिलाड़ी या दुश्मन है या नहीं। ये केवल दो श्रेणियां हैं। मैं isEnemy विधि को हटा सकता हूं और दुश्मन के लिए सभी चेक चला सकता हूं जैसे कि (! Isplayer), लेकिन मुझे व्यक्तिगत रूप से लगता है कि अगर (isEnemy) कोड स्पष्ट करने का इरादा रखता है। क्या ऐसी कोई स्थापित कोडिंग शैलियों है जिनके पास इस तरह की स्थिति के बारे में कुछ कहना है?क्या अनावश्यक कोड स्वीकार्य है यदि यह पठनीयता में सुधार करता है?
public boolean isPlayer(Unit unit) {
return unit == player;
}
public boolean isEnemy(Unit unit) {
for (Unit e : enemies) {
if (unit.equals(e))
return true;
}
return false;
}
IMHO यदि आप किसी उद्देश्य के साथ कोड लिखते हैं, तो जो कुछ भी आप जोड़ते हैं उसे भ्रमित करने की आवश्यकता नहीं होती है। आप उस चीज़ के उद्देश्य को खोजने का प्रयास करने में अधिक समय बर्बाद कर सकते हैं जिसका कोई उद्देश्य नहीं है जो स्पष्ट रूप से एक है। आपके उदाहरण में, यह स्पष्ट नहीं है कि एक विधि को दूसरे के साथ कैसे बदला जा सकता है। –