में फ़ील्ड मानों और स्थानीय दायरे के बीच नामकरण संघर्ष यह एक कोडिंग शैली प्रश्न है बल्कि तकनीकी एक है।हास्केल
मुझे अक्सर एक समस्या का सामना करना पड़ा है जहां मैं data
प्रकार बनाने के लिए हैकेल (कम से कम इष्टतम) रिकॉर्ड सिंटैक्स (या लेंस, समस्या समाप्त होती है) का उपयोग करता हूं। मैं अपने क्षेत्र के नाम पर फ़ील्ड एक्सेसर फ़ंक्शंस के साथ समाप्त होता हूं। एक ईमानदार प्रोग्रामर होने के नाते, मैं अपने रिकॉर्ड फ़ील्ड नामों को सार्थक बनाने की कोशिश करता हूं।
किसी बिंदु पर मुझे अपने प्रकार से एक फ़ील्ड प्राप्त करने और स्थानीय मान में अपना मान रखने की आवश्यकता है। यह अक्सर do
ब्लॉक में राज्यमोनाड के भीतर किया जाता है। प्रश्न यह है कि मैं स्थानीय चर को क्या कहूं। सबसे स्पष्ट नाम पहले से ही फील्ड एक्सेसर के रूप में लिया गया है। मैं संक्षेप में अपना स्वयं का पता लगाता हूं जो मेरे कोड को कम पठनीय बनाता है।
क्या कोई हास्केल कोडिंग सम्मेलन है जो इस मुद्दे को संबोधित करता है?
उदाहरण
data Qaax = Qaax {
foo :: SomeFoo
, bar :: SomeBar
, ...
}
baz :: (MonadState Qaax m) => (...) -> m()
baz (...) = do
f <- gets foo -- I'd really like to use something more descriptive then
-- `f` but `foo` is already taken.
...
return()