स्व-प्रलेखित कोड पढ़ने और बनाए रखने में आसान है
कम से कम कम से कम के सिद्धांत का पालन करें और कोड के रूप में प्रलेखन के रूप में : एक लक्ष्य के लिए एक चर का उपयोग करें, दोनों को समझने के लिए अपने उपयोग को आसान बनाने के लिए और स्पष्टीकरण के बिना पढ़ने के लिए आसान कोड।
सही ढंग से संरचित कोड आसान (इस प्रकार सस्ता) से (रे) का उपयोग है
इसके अलावा, यहां यह प्रतीत होता है कि query
हमेशा इसे निष्पादित करने से पहले एक बयान तैयार करने के लिए उपयोग किया जाता है। यही कारण है कि शायद एक संकेत है कि आप करना चाहते हैं refactor एक (या अधिक) में इस कोड का हिस्सा सहायक तरीकों से तैयार करने और क्वेरी (करने के लिए पालन करने के लिए निष्पादित करने के लिए सूखी सिद्धांत )।
इस तरह, आप प्रभावी ढंग से करेंगे:
- वर्तमान संदर्भ की क्वेरी की पहचान करने के लिए अपने सहायक विधि में केवल एक चर का उपयोग करें,
- किसी क्वेरी को फिर से निष्पादित करने के लिए हर बार कम कोड टाइप करने की आवश्यकता होती है,
- अपने कोड को दूसरों के लिए अधिक पठनीय प्रस्तुत करें।
उदाहरण:
इस पर विचार करें, आपके उदाहरण से लिया गया है, जहाँ पर रिफलेक्ट किया गया संस्करण स्पष्ट रूप से बेहतर है। बेशक आपका स्निपेट इस प्रश्न के उद्देश्य के लिए सिर्फ एक उदाहरण था, लेकिन अवधारणा अभी भी सच है और तराजू रखती है।
आपका उदाहरण 1:
Strings querycre,queryins,queryup,querydel;
querycre = 'Create table XYZ ...';
execute querycre ;
queryins = 'Insert into XYZ ...';
execute queryins ;
queryup = 'Update XYZ set ...';
execute queryup;
querydel = 'Delete from XYZ ...';
execute querydel ;
आपका उदाहरण 2:
Strings query;
query= 'Create table XYZ ...';
execute query ;
query= 'Insert into XYZ ...';
execute query ;
query= 'Update XYZ set ...';
execute query ;
query= 'Delete from XYZ ...';
execute query ;
उदाहरण 3 (खंडित छद्म कोड):
def executeQuery(query, parameters...)
statement = prepareStatement(query, parameters);
execute statement;
end
// call point:
executeQuery('Create table XYZ ... ');
executeQuery('Insert into XYZ ...');
executeQuery('Update XYZ set ...');
executeQuery('Delete from XYZ ...');
लाभ नियमित पुन: उपयोग के साथ दिखाता है।
व्यक्तिगत किस्सा
मैंने मूल रूप से एक सी प्रोग्रामर के रूप में शुरुआत की, जो सीमित स्क्रीन रियल-एस्टेट के साथ काम कर रहा था, इसलिए चर का फिर से उपयोग करना संकलित कोड (तब वापस) और अधिक कोड को एक बार में पठनीय होने की अनुमति देने के लिए दोनों का अर्थ है।
हालांकि, तब उच्च स्तर की भाषाओं पर चले गए और कार्यात्मक प्रोग्रामिंग पर ब्रश किया, मैंने अपरिवर्तनीय चर और अपरिवर्तनीय संदर्भों का उपयोग करने की आदत ली, जहां भी साइड-इफेक्ट्स को सीमित करना संभव था।
इसमें मेरे लिए क्या है?
यदि आप अपने सभी फ़ंक्शन के इनपुट अपरिवर्तनीय होने और एक नया परिणाम (एक सच्चे गणितीय फ़ंक्शन के रूप में) वापस करने की आदत लेते हैं, तो आप स्टोरों की नकल नहीं करने की आदत में पड़ जाते हैं।
विस्तार से, यह निम्न की ओर जाता है:
- आप छोटे कार्य लिख रहे हैं,
- अच्छी तरह से परिभाषित उद्देश्यों के साथ,
- यह समझना आसान है,
- फिर इस्तमाल करें,
- विस्तार करने के लिए (चाहे OO वंशानुक्रम द्वारा या कार्यात्मक श्रृंखलन द्वारा),
- और दस्तावेज़ (पहले से ही स्व-दस्तावेज के रूप में)।
मैं यह नहीं कह रहा हूँ कि यहाँ परस्पर स्थिति का कोई लाभ नहीं है, मैं सिर्फ यह इंगित कर रहा हूँ कि आदत आप पर कैसे बढ़ सकती है और यह कोड पठनीयता को कैसे प्रभावित करता है।