मुझे प्रोग्राम के लिए अपने हास्केल मॉड्यूल का नाम कैसे देना चाहिए, पुस्तकालय नहीं, और उन्हें पदानुक्रम में व्यवस्थित करें?हास्केल मॉड्यूल नामकरण सम्मेलन
मैं ल्यूमिनोसिटी नामक रे ट्रेसर बना रहा हूं। सबसे पहले मैं इन मॉड्यूल था:
Vector Colour Intersect Trace Render Parse Export
प्रत्येक मॉड्यूल अपने आप पर ठीक था, लेकिन इस तरह संगठन के अभाव मुझे लगा।
पहले, मैं, Luminosity
के तहत हर मॉड्यूल डाल तो उदाहरण Vector
अभी था Luminosity.Vector
(मुझे लगता है कि यह एक haskell कार्यक्रम के लिए मानक है?)।
तब मैंने सोचा: वेक्टर और रंग स्वतंत्र हैं और उनका पुन: उपयोग किया जा सकता है, इसलिए उन्हें अलग किया जाना चाहिए। लेकिन पुस्तकालयों में बदलने के लिए वे बहुत छोटे हैं।
वे कहाँ जाना चाहिए? पहले से ही (हैकेज पर) Data.Vector
और Data.Colour
है, तो क्या मुझे उन्हें वहां रखना चाहिए? या क्या यह भ्रम पैदा करेगा (भले ही मैं उन्हें अपने अन्य स्थानीय आयातों के साथ समूहीकृत करता हूं)? यदि नहीं, तो क्या यह Luminosity.Data.Vector
या Data.Luminosity.Vector
होना चाहिए? मुझे पूरा यकीन है कि मैंने दोनों का इस्तेमाल देखा है, हालांकि शायद मैं एक गैर-परंपरागत संरचना का उपयोग कर एक परियोजना को देखने के लिए हुआ था।
मेरे पास एक साधारण टीजीए छवि निर्यातक भी है (Export
) जो चमकदारता से स्वतंत्र हो सकता है। ऐसा लगता है कि सही स्थान Codec.Image.TGA
होगा, लेकिन फिर, Luminosity
कहीं और होना चाहिए और यदि ऐसा है, तो कहां?
यह अच्छा होगा अगर Structure of a Haskell project या कुछ अन्य विकी ने इसे समझाया।
यदि आप कोड का पुन: प्रयोज्य टुकड़ा बनाना चाहते हैं, तो उसे पुस्तकालय में पैकेज करें। आकार कोई फर्क नहीं पड़ता। –
ज्यामितीय प्राइमेटिव्स के लिए पुन: प्रयोज्य मॉड्यूल - बीजगणितीय प्रकारों, वेक्टर और रंगों के साथ परिभाषित करना इतना आसान है कि गंभीर उपयोग के लिए एक हास्केलर दूसरी लाइब्रेरी पर भरोसा करने के बजाय स्वयं को परिभाषित करना चाहता है। वे तब उनके प्रतिनिधित्व के नियंत्रण में हैं और निर्भरता समस्याओं (एपीआई परिवर्तन, लेखक गायब होने आदि) के बारे में चिंता करने की ज़रूरत नहीं है –