मान लीजिए मैं एक फ़ाइल utility.h
में एक वर्ग Utility
है:सी ++ में लघु कार्य नाम उपनाम परिभाषित करने का सबसे सुरक्षित तरीका क्या है?
class Utility {
public:
static double longDescriptiveName(double x) { return x + 42; }
};
और फिर मुझे लगता है कि मैं समारोह longDescriptiveName(...)
एक बहुत का उपयोग करें। तो एक गैर-जिम्मेदार सी ++ प्रोग्रामर कि मैं कर रहा हूँ जब मैं बहुत ज्यादा कॉफी मिला है की तरह, मैं एक नई फ़ाइल utilitymacros.h
बना सकते हैं और वहाँ निम्नलिखित जोड़ें:
#define ldn Utility::longDescriptiveName
अब मैं किसी भी *.cpp
में "utilitymacros.h"
शामिल है, जहां मैं ldn(...)
और उपयोग अपने वहाँ एक सुरक्षित (अधिक उचित) #define
साथ की तुलना में ऐसा करने का तरीका है: दिल कितना अधिक convinient यह बनाम 28.
प्रश्न 3 अक्षर टाइप करने के लिए है से अधिक खुशी से भर जाता है?
मैंने देखा है कि मुझे बूस्ट हेडर समेत "utilitymacros.h" शामिल करना होगा, जिसे मैं स्पष्ट रूप से पसंद नहीं करता क्योंकि यह झड़पों का संकेत है (हालांकि मुझे जो बूस्ट त्रुटियां मिलती हैं, वे बहुत स्पष्ट नहीं हैं संघर्ष है)।
स्पष्टीकरण 1: कोड पठनीयता
पर मामले में आप कह सकते हैं कि नकारात्मक कोड पठनीयता को प्रभावित करता है, मैं आपको विश्वास दिलाता यह नहीं है, क्योंकि यह काम करता है कि बहुत उपयोग किया जाता है का एक छोटा सेट है। stringToInteger
के लिए व्यापक रूप से एक उदाहरण है जो stoi
है। एक और probabilityDensityFunction
, आदि के लिए pdf
है तो अगर मैं निम्नलिखित करना चाहते हैं, stoi
मेरी राय में अधिक पठनीय है:
int x = stoi(a) + stoi(b) + stoi(c) + stoi(d);
से:
int x = Utility::stringToInteger(a) + Utility::stringToInteger(b)
+ Utility::stringToInteger(c) + Utility::stringToInteger(d);
या:
int x = Utility::stringToInteger(a);
x += Utility::stringToInteger(b);
x += Utility::stringToInteger(c);
x += Utility::stringToInteger(d);
स्पष्टीकरण 2: संपादक मैक्रो
मैं इमाक्स का उपयोग अपनी पसंद के आईडीई और एक किनेसिस कीबोर्ड के रूप में करता हूं ताकि आप जान सकें कि मैं कीबोर्ड मैक्रोज़, कस्टम कीबोर्ड शॉर्टकट्स का एक टन का उपयोग करता हूं, साथ ही वास्तव में जो मैं संपादक में देखता हूं उसे संशोधित करता हूं जो वास्तव में एच/सीपीपी फ़ाइल में संग्रहीत होता है । लेकिन फिर भी, मुझे कुछ चुनिंदा मामलों में फ़ंक्शन संक्षेप का उपयोग करने की सादगी और दृश्य पठनीयता (जैसा कि ऊपर तर्क दिया गया है) की तरह लगता है वास्तव में वह परिणाम है जिसे मैं ढूंढ रहा हूं (यह निश्चित रूप से एक डिग्री के अधीन है)।
मुझे सच में नहीं लगता कि यह एक अच्छा विचार है, क्योंकि यह कोड पठनीयता को नुकसान पहुंचाता है। –
मुझे लगता है कि 'पीडीएफ' एक फ़ाइल प्रारूप था, और * वास्तव में * भ्रमित हो। वर्ण मुक्त हैं और आप उनका उपयोग न करके पर्यावरण को बचाते हैं। –
ठीक है, शायद छोटे नाम आपके लिए पठनीय हैं, लेकिन दूसरों के लिए मुश्किल है, यहां तक कि (या विशेष रूप से) जब वे हर जगह उपयोग किए जाते हैं। मेरे पुराने पर 3 वर्ण समारोह नामों के बहुत सारे थे और यह वहां से बाहर निकलने के कई कारणों में से एक था: कोड एक अपठनीय गड़बड़ था। निश्चित रूप से, न केवल फ़ंक्शन और चर नामों के कारण, बल्कि यह इसका एक हिस्सा था। – Skalli