मैंने हाल ही में थ्री बिग लाइज़ ब्लॉग पोस्ट पढ़ी है और मुझे दूसरे झूठ को सही ठहराने में मुश्किल समय आ रहा है, जिसे यहाँ उद्धृत किया गया है:
(LIE # 2) CODE SHOULD को विश्व का एक मॉडल बनाया जाना चाहिए
कोड में किसी प्रकार का कोई मॉडल या काल्पनिक दुनिया का नक्शा होने का कोई मूल्य नहीं है। मुझे नहीं पता कि यह कुछ प्रोग्रामरों के लिए इतना मजबूर क्यों है, लेकिन यह बेहद लोकप्रिय है। यदि गेम में कोई रॉकेट है, तो निश्चिंत रहें कि "रॉकेट" क्लास है (कोड को C ++ मान लिया जाए) जिसमें ठीक एक रॉकेट के लिए डेटा होता है और रॉकेट स्टफ करता है। डेटा ट्रांसफॉर्मेशन वास्तव में क्या किया जा रहा है, या डेटा के लेआउट के लिए बिल्कुल भी कोई चिंता नहीं है। या उस बात के लिए, मूल समझ के बिना कि जहां एक चीज है, वहां शायद एक से अधिक है।
हालांकि इस तरह के डिजाइन के लिए बहुत सारे प्रदर्शन दंड हैं, सबसे महत्वपूर्ण यह है कि यह पैमाने पर नहीं है। बिलकुल। एक रॉकेट की कीमत एक रॉकेट से सौ गुना ज्यादा है। और यह बहुत अधिक संभावना है कि यह उससे भी अधिक लागत है! गैर-प्रोग्रामर के लिए भी, इसका कोई मतलब नहीं होना चाहिए। बड़ी तादाद में। यदि आपके पास कुछ अधिक है, तो इसे सस्ता होना चाहिए, अधिक महंगा नहीं। और ऐसा करने का तरीका डेटा को ठीक से डिज़ाइन करना है और समान परिवर्तनों द्वारा चीजों को समूहित करना है।
यहाँ विशेष रूप से इस झूठ के साथ मेरी समस्याएं हैं।
कोड में मूल्य होता है एक काल्पनिक दुनिया का एक मॉडल / नक्शा होने के नाते काल्पनिक दुनिया में मदद करता है (कम से कम मुझे, व्यक्तिगत रूप से) कोड की कल्पना और व्यवस्थित करने में मदद करता है।
एक "रॉकेट" वर्ग का होना, मेरे लिए, एक वर्ग के लिए पूरी तरह से मान्य विकल्प है। शायद "रॉकेट्स" को एजीएम -११४ हेलफायर जैसे रॉकेटों के प्रकारों में तोड़ा जा सकता है, जिसमें पेलोड की ताकत, अधिकतम वेग, अधिकतम मोड़ त्रिज्या, लक्ष्यीकरण प्रकार और इसके आगे, लेकिन फिर भी हर रॉकेट दागे जाने की स्थिति होनी चाहिए। और एक वेग।
बेशक 100 रॉकेट की कीमत 1 रॉकेट से अधिक है। यदि स्क्रीन पर 100 रॉकेट हैं, तो उनकी स्थिति को अपडेट करने के लिए 100 अलग-अलग संगणनाएं होनी चाहिए। दूसरा पैराग्राफ ऐसा लगता है जैसे यह दावा किया जा रहा है कि यदि 100 रॉकेट हैं, तो राज्य को अपडेट करने के लिए 100 से कम गणनाओं की लागत होनी चाहिए?
यहाँ मेरी समस्या यह है कि लेखक एक "त्रुटिपूर्ण" प्रोग्रामिंग मॉडल प्रस्तुत करता है, लेकिन इसे "सही" करने का तरीका प्रस्तुत नहीं करता है। शायद मैं रॉकेट वर्ग की सादृश्यता को बढ़ा रहा हूं, लेकिन मैं वास्तव में इस झूठ के पीछे के तर्क को समझना चाहूंगा। विकल्प क्या है?