सर्वोत्तम प्रथाओं और सामान्य ज्ञान के बीच अंतर?


13

सॉफ्टवेयर विकास में सर्वश्रेष्ठ प्रथाओं 1 के बारे में बहुत सारी बातचीत है । मैंने देखा है कि कम से कम तीन प्रमुख बिंदुओं को एसई और अन्य जगहों पर बहुत चर्चा मिलती है:

  • एक सर्वोत्तम अभ्यास के रूप में क्या योग्यता है, और क्यों?
  • क्या पहले स्थान पर चर्चा करने के लायक सर्वोत्तम अभ्यास भी हैं, क्योंकि यह उचित है कि कोई भी अभ्यास "सर्वोत्तम" अभ्यास नहीं है?
  • आपको सबसे अच्छा अभ्यास कब करना चाहिए - या शायद सबसे अच्छा अभ्यास - या तो क्योंकि यह लागू नहीं होता है या बाहरी बाधाओं (समय, धन, आदि) के कारण होता है जो व्यापार को अव्यवहारिक बनाते हैं?

ऐसा कुछ जो अक्सर कम से कम आने लगता है, लेकिन पहले से कहीं अधिक, सॉफ्टवेयर विकास में सामान्य ज्ञान की धारणा है । हाल के अनुभव ने इस धारणा को मेरे दिमाग के सामने फिर से लाया है।

मेरी प्रारंभिक धारणा है कि यह सर्वोत्तम प्रथाओं की तुलना में एक अलग चर्चा है, लेकिन शायद कुछ क्रॉस-परागण के साथ।

जब मैं सामान्य रूप से सामान्य ज्ञान के बारे में सोचता हूं, तो मैं उन नियमों के समूह के बारे में सोचता हूं जिन्हें आपने या तो उठाया है या पढ़ाया गया है जो आपको तर्क करने और निर्णय लेने के लिए एक आधार रेखा देता है। सामान्य ज्ञान का अनुसरण करना आपके पूरे पैर को बंद करने से बचने का एक अच्छा तरीका है। लेकिन बहुत कम आधार रेखा से परे, सामान्य ज्ञान शिक्षित निर्णय लेने की आवश्यकता के लिए रास्ता देता है, और शिक्षित निर्णय सामान्य ज्ञान को भी ओवरराइड कर सकते हैं जब सबूत पर्याप्त सम्मोहक लगता है। मैं यहां परिभाषा के साथ थोड़ा ढीला खेल सकता हूं, लेकिन मुझे लगता है कि यह मेरे उदाहरण को समझने के लिए पर्याप्त है।

जब मैं सॉफ्टवेयर विकास में सामान्य ज्ञान के बारे में सोचता हूं, तो मैं बुनियादी स्वच्छता के सभी नियमों के बारे में सोचता हूं ताकि कोडबेस को तेजी से एक समझ से बाहर हो जाने से रोका जा सके। उदाहरण के रूप में, जैसे चीजें: गैर-तुच्छ कार्यक्रम के भीतर राज्य को बनाए रखने और संचार करने के लिए एक भी वैश्विक संरचना का उपयोग नहीं करना; चर / विधि / वर्ग के नाम का उपयोग न करना जो केवल यादृच्छिक अस्पष्ट हैं; चीजें जो शायद समान होती हैं, जो हम एंटी-पैटर्न को काफी करीब से कहते हैं। जहां सीखने के पैटर्न के लिए व्यावहारिक एनालॉग को सर्वोत्तम तरीके से लागू करना, सामान्य ज्ञान को लागू करना, विरोधी पैटर्न सीखने के व्यावहारिक एनालॉग के रूप में देखा जा सकता है।

इसे ध्यान में रखते हुए, मैं कुछ ऐसे प्रश्न करना चाहूँगा जो दूसरों के उत्तर देखने में मेरी मदद कर सकते हैं क्योंकि इसके माध्यम से मेरा मार्ग प्रशस्त होगा।

क्या दूसरों का मानना ​​है कि सॉफ्टवेयर विकास में सामान्य ज्ञान की धारणा है? किसी भी तरह से तर्क जानने में दिलचस्पी होगी।

यदि हां, तो क्या यह चर्चा के लायक है? क्या यह कुछ ऐसा है जिसे हमें कभी-कभी सर्वोत्तम प्रथाओं के साथ करना चाहिए? यह भी कठिन के लिए धक्का लायक कुछ है?

यदि विरोधी प्रतिमानों के अनुरूप उचित लगता है, सामान्य नियम यह है कि विरोधी प्रतिमान केवल तभी नियोजित होते हैं यदि कोई अन्य तरीका नहीं है, और फिर भी केवल बहुत सीमित परिस्थितियों में ही। एक कोडबेस को सामान्य ज्ञान से विचलित करने की अनुमति देने में कितना लचीला होना चाहिए? यह अनुचित लगता है कि इसका उत्तर "बिल्कुल नहीं" है, क्योंकि कभी-कभी समीचीनता विचलन की मांग करती है। लेकिन, यह एक अलग तरह के तर्क की तरह लगता है जब "सर्वोत्तम अभ्यास" को नियोजित करना है। शायद यह नहीं है; यदि आप ऐसा नहीं सोचते हैं, तो मैं सीखना चाहूंगा कि क्यों।

यह अभी तक अधिक खोला गया है और शायद एक फॉलो-ऑन प्रश्न के योग्य है, जो कि सामान्य ज्ञान के मामलों की तरह लगता है कि आप किस प्रकार की सिफारिशों को इंगित करेंगे?

अन्य विचार भी स्वागत योग्य हैं।


1 शायद मैं उन्हें "आम तौर पर आवर्ती डोमेन पैटर्न" कहना बेहतर होगा, लेकिन "सर्वोत्तम अभ्यास" नाम काफी आम है कि हर कोई जानता है कि वे क्या हैं, भले ही वे सहमत न हों कि वे हैं। यदि "सर्वश्रेष्ठ" भाग आपको परेशान करता है, तो बस कल्पना करें कि मैंने "सर्वोत्तम प्रथाओं" को कुछ कम आधिकारिक ध्वनि के साथ बदल दिया।


2
सामान्य ज्ञान होने का मतलब है कि आप इसका उपयोग कई समाधानों के पेशेवरों और विपक्षों को बाहर निकालने के लिए कर सकते हैं और समस्या के लिए सबसे अच्छा चयन कर सकते हैं। किसी को जिसका अनुभव डिजाइन पैटर्न और सर्वोत्तम प्रथाओं पर पुस्तकों के एक जोड़े को पढ़ने के होते हैं समझ में नहीं आता है कि उन्हें कहां और कैसे लागू किया जाए।
ब्लरफुल

जवाबों:


10

सर्वोत्तम प्रथाएं वे अभ्यास हैं जो परिस्थितियों के अपेक्षाकृत विस्तृत क्षेत्र में अच्छी तरह से काम करने के लिए पाए गए हैं। उनके साथ समस्या यह है कि ए) अभिव्यक्ति को कभी-कभी विपणन और बी के लिए दुरुपयोग किया जाता है) निश्चित नियमों के रूप में, वे पर्याप्त लचीले नहीं हैं; मौजूदा नियमों पर लागू होने के बारे में विचार किए बिना निश्चित नियमों के किसी भी सेट का पालन नहीं किया जाना चाहिए।

सर्वश्रेष्ठ अभ्यास महान हैं जब वे स्पष्टीकरण के साथ आते हैं कि वे "सर्वश्रेष्ठ" क्यों हैं और उन्हें किन परिस्थितियों में उपयोग किया जाना चाहिए। तब आप इसका उपयोग न करने के बारे में तर्क कर सकते हैं।

"सामान्य ज्ञान" के साथ समस्या यह है कि यह बहुत लचीला है - इसका उपयोग बहुत अधिक किसी भी चीज़ को सही ठहराने के लिए किया जा सकता है, और आप वास्तव में तर्कसंगत चर्चा नहीं कर सकते जब लोग असहमत होते हैं और दोनों दावा करते हैं कि उनकी स्थिति "सामान्य ज्ञान" है। किसी टीम का अनुसरण करने के लिए एक दिशानिर्देश के रूप में यह अच्छा है लेकिन खराब है।


10

मुझे लगता है कि आपके पास यह पीछे है।

जब प्रोग्रामर को सुरक्षा की मूल बातें सिखाते हैं, तो मैं हमेशा उनका उपयोग करना सिखाता हूं best practices, और फिर भी जब सुरक्षा विशेषज्ञों (या अधिक "सुरक्षा-अनुभवी" प्रोग्रामर) के साथ काम करता हूं तो मैं कभी चर्चा नहीं करूंगा best practices, वास्तव में मैं अक्सर उनका उल्लंघन करूंगा।

एक बेहतर परिभाषा होगी:

"बेस्ट प्रैक्टिस" विशेषज्ञों से सामान्य ज्ञान है, जैसा कि गैर-विशेषज्ञों द्वारा लागू किया जाना चाहिए।

जब तक कि आपको सूक्ष्म व्यापार को समझने के लिए दिए गए क्षेत्र में पर्याप्त विशेषज्ञता न हो, तब तक आपको "सामान्य ज्ञान" का दावा नहीं मिलता है; और जब आप करते हैं, तो आपको कुकी-कटर "सर्वोत्तम प्रथाओं" का पालन नहीं करना चाहिए।

"सर्वश्रेष्ठ अभ्यास" एक अस्थायी प्लेसहोल्डर हैं जब तक कि आपके पास अपने "सामान्य ज्ञान" का उपयोग करने के लिए पर्याप्त अनुभव नहीं है।


3
ओह, और यदि आप सर्वोत्तम प्रथाओं से परिचित नहीं हैं, तो आपके पास सामान्य ज्ञान नहीं है, या तो।
एवीडी

7

सर्वोत्तम अभ्यास -> "पहले, आप नियम सीखते हैं"। अनुभव -> "फिर, आप सीखते हैं कि उन्हें कब और कैसे तोड़ना है"।

विकल्पों के साथ प्रयोग करने की इच्छा (गैर-महत्वपूर्ण कोड में, निश्चित रूप से - अधिमानतः व्यक्तिगत परियोजनाएं और फेंक-रास्ते) आपके द्वारा आवश्यक अनुभव का निर्माण करने में मदद कर सकते हैं।

सामान्य ज्ञान अनुभव के समान नहीं है, ज़ाहिर है, और आपको हमेशा एक अच्छी तकनीक को गलत स्थान पर लागू करने में दोष देखने के लिए बहुत अनुभव की आवश्यकता नहीं है - लेकिन यह बहुत आसान है कि दोनों के लिए गलत तर्क का निर्माण करना है। एक तकनीक के तहत, और यहां "सामान्य ज्ञान" के बाद से स्पष्ट रूप से प्रोग्रामिंग का जन्मजात ज्ञान नहीं है, यह समझ केवल विशेष समूहों के लिए स्पष्ट रूप से "सामान्य" है।

"पक्ष लेना" बहुत आसान है। बचने के लिए असंभव, वास्तव में - कभी-कभी एक पक्ष वास्तव में सही होता है, और दूसरा वास्तव में गलत होता है, और यह संतुलन के लिए तर्क देने के लिए तर्कहीन होगा। यहाँ मुसीबत यह है कि असली नरक प्रासंगिकता के लिए एक सबसे अच्छा अभ्यास नहीं है, लेकिन जब दो परस्पर विरोधी सर्वोत्तम-अभ्यास राय टकराते हैं।

इससे निपटना शायद तकनीकी कौशल के बारे में लोगों के कौशल के बारे में बहुत अधिक है। मैं इस पर बहुत बुरा हूँ :-(

इसके बावजूद, अन्य लोगों के अनुभव के साथ-साथ आप स्वयं भी सीखना महत्वपूर्ण है - यानी यह पता लगाने के लिए कि सर्वोत्तम अभ्यास क्या हैं, उनका उपयोग क्यों किया जाता है, और क्या फायदे (और नुकसान) हैं।


6

मुझे यह प्रतीत होता है कि यह प्रश्न एक शब्दार्थ प्रवंचना है। यदि हम इन परिभाषाओं का उपयोग करते हैं तो कोई प्रश्न नहीं है:

सर्वोत्तम अभ्यास: किसी दिए गए डोमेन में एक समस्या को हल करने का एक सिद्ध तरीका है (यानी वास्तविक समय सर्वोत्तम अभ्यास डेटाबेस सर्वोत्तम प्रथाओं के लिए पूरी तरह से विदेशी हैं)

कॉमन सेंस: पेशेवर अनुभव जो बचने के लिए प्रोग्रामर को नुकसान पहुंचाने की चेतावनी देता है

अंत में, एक बेस्ट प्रैक्टिस एक मेटा डिज़ाइन पैटर्न है, जो समस्याओं की एक विशेष अवधारणा को हल करता है और इसे वास्तविक दुनिया के अनुभवों के आधार पर चुना जाता है, जबकि कॉमन सेंस कई समस्या सेटों पर सामान्य अवलोकन के आधार पर समस्या को हल करने के लिए एक गाइड है।


अच्छा ... यह शब्दार्थ है कुछ-या-अन्य। प्रवंचना के बारे में निश्चित नहीं। "सामान्य ज्ञान" का अर्थ हमेशा यह नहीं होता है कि यह क्या कहता है। इसने एकेडमिक-रूलबुक नॉट-फॉलोइंग की भावना का अधिग्रहण किया है - ऑल-ब्रेन-एंड-नो-कॉमन-सेन्स का एक पहलू जो मूल रूप से रूलबुक के दायरे से परे सोच को संदर्भित करता है। कभी-कभी, सर्वोत्तम प्रथाएं वास्तव में लागू नहीं होती हैं - सामान्यीकरण के किसी भी परिमित सेट के लिए वास्तविकता बहुत जटिल है - इसलिए ऐसे समय होते हैं जब आपको अपने अनुभव और - अहम - "सामान्य ज्ञान" का उपयोग करना पड़ता है ।
स्टीव 314

@ पैट्रिक: यह सब मुश्किल होने का मेरा इरादा नहीं था। इस सवाल के बारे में मेरे विचार का एक हिस्सा यह था कि मुझे इन दोनों अवधारणाओं की समझ का पता लगाना था, विशेष रूप से "सामान्य ज्ञान", इस बिंदु तक। कोई भी स्पष्ट चालबाजी शायद केवल एक संकेत है कि इन विचारों के बारे में मेरा अंतर्ज्ञान परिपूर्ण के पास कहीं नहीं है।
एड कारेल


4

दिलचस्प समय। पिछले सप्ताह इस लेख को प्रकाशित किया गया था जिसमें कहा गया था कि सामान्य ज्ञान सभी स्थितियों में आवश्यक नहीं है।

सामान्य ज्ञान उत्कृष्ट रूप से रोजमर्रा की स्थितियों में उत्पन्न होने वाली जटिलता को संभालने के लिए अनुकूलित है ... और क्योंकि यह इन परिस्थितियों में इतनी अच्छी तरह से काम करता है, हम इसे सभी स्थितियों में भरोसा करने के लिए इच्छुक हैं

(बोल्ड में मेरे शब्द)

मूल रूप से - मनुष्य ऐसे क्षेत्रों में सामान्य ज्ञान का उपयोग करने में अच्छा नहीं है, जहां हमने एक बाधित प्रणाली विकसित नहीं की है, इसलिए हमें हमेशा मानकों के एक दस्तावेज सेट का उपयोग करना चाहिए और अपने सामान्य ज्ञान पर भरोसा नहीं करना चाहिए !


संज्ञानात्मक पूर्वाग्रह ... फिर से। और यही कारण है कि आपको अपने सामान्य ज्ञान पर भरोसा करने से पहले एक विशेषज्ञ होने की जरूरत है ...
AviD

2

सामान्य ज्ञान विरोधी पैटर्न सीखने के अनुरूप नहीं है, न ही यह अलग है, या सर्वोत्तम अभ्यास के विपरीत है।

सामान्य ज्ञान के साथ पहली समस्या इसका नाम है - यह इस निष्कर्ष पर जाता है कि यह सामान्य और समझदार दोनों है। जैसा कि आमतौर पर इस्तेमाल किया जाता है, यह दोनों मायने रखता है। अपने उदाहरण का उपयोग करना:

विरोधी पैटर्न केवल नियोजित हैं यदि कोई अन्य तरीका नहीं है, और फिर भी केवल बहुत ही सीमित परिस्थितियों में

यह मेरी समझ है कि यह वह तरीका नहीं है जिससे विरोधी प्रतिमान उत्पन्न होते हैं। यह सांस्कृतिक और सामाजिक कारकों में से एक है; एक पर्याप्त अवधि में सर्वोत्तम प्रथाओं और मानकों की अवहेलना; भविष्य में अल्पावधि लाभ प्राप्त करने के लिए लागतों की अनदेखी करना - उदाहरण के लिए एक शॉर्ट कट समाधान का उपयोग करके समय सीमा को पूरा करना है जो एक रखरखाव दुःस्वप्न है; आदि कोई भी निकाय जानबूझकर एक विरोधी पैटर्न को अपनाने के लिए तैयार नहीं है - वे सिर्फ बढ़ते हैं।

समान रूप से, सामान्य ज्ञान बहुत दूर है जिसका अर्थ है "जो कि आमतौर पर किया जाता है", और समाधान प्रदान करने में जो शामिल है उसे हल करने में विचार, अंतर्दृष्टि, और कड़ी मेहनत की कमी को उचित ठहराया। इसका उपयोग "अपने तरीके से मैं इसे करने के लिए औचित्य के रूप में भी करता हूं, तो जाहिर है कि यह सामान्य ज्ञान है" - और समीक्षा और आलोचना के खिलाफ बचाव के रूप में।

जहाँ तक सर्वोत्तम प्रथाओं का सवाल है @ माइकल के पहले दो पैराग्राफ इस बात का एक उत्कृष्ट सारांश हैं कि सबसे अच्छा अभ्यास क्या होना चाहिए - वे क्या करते हैं, इसे बेहतर बनाने के लिए हर किसी की सहायता के लिए एक संसाधन। यह निर्णयों की पारदर्शिता (विशेष रूप से डिजाइन निर्णय) और दूसरों से सीखने की क्षमता प्रदान करता है। सबसे अच्छा अभ्यास के नकारात्मक पक्ष यह है कि जब यह एक चेकलिस्ट संस्कृति उत्पन्न करता है - "मैंने सभी बक्से को टिक कर दिया है, इसलिए मैंने जो किया है वह ठीक होना चाहिए" - चेकलिस्ट की प्रयोज्यता की प्रकृति पर विचार, देखभाल और ध्यान दिए बिना।


1

यह एक फिसलन ढलान तर्क है जो अक्सर एक धार्मिक युद्ध में बदल जाता है।

लगभग किसी भी सर्वोत्तम अभ्यास को विपरीत करने के लिए एक वैध मामले के साथ गिना जा सकता है।

कुछ सर्वोत्तम अभ्यास दूसरों की तुलना में अधिक "सर्वश्रेष्ठ" हैं। वैश्विक राज्य चर लगभग हमेशा बेहतर तरीके से किए जाते हैं और GOTO आमतौर पर एक बुरा विचार है, लेकिन जब आप पैटर्न / एंटी-पैटर्न या प्रत्यक्ष डेटा / अमूर्त डेटा तर्कों में आते हैं तो यह थोड़ा कम स्पष्ट होता है। इससे भी अधिक जब आप विकास के तरीकों और प्रथाओं के बारे में बात करना शुरू करते हैं।

कुछ स्थितियों में सामान्य ज्ञान और सर्वोत्तम प्रथाएं एक-दूसरे के विरोध में भी हैं।

सर्वोत्तम प्रथाओं का कोई शासी निकाय नहीं है और कोई एकल समूह नहीं है, भले ही यह मौजूद हो हर संभव स्थिति के लिए हर संभव "सर्वश्रेष्ठ" को परिभाषित कर सकता है। सर्वोत्तम प्रथाओं के रूप में लेबल की गई बहुत सी चीजें सिर्फ खराब विपणन हैं जो कि बिना किसी विकृत व्यक्ति के उपकरण या प्रशिक्षण को बेचने की कोशिश कर रहे हैं।

यहां तक ​​कि जब आपकी पूरी टीम इस बात से सहमत है कि कुछ सबसे अच्छा है, तो इसे लागू करना हमेशा संभव नहीं होता है, विभिन्न विवश कारकों के लिए।

IMHO आपको अपने डिजाइन में अधिक सावधानी से विचार करने के लिए एक गाइड के रूप में सर्वोत्तम अभ्यास का उपयोग करना होगा। आपके पास भटकने का एक वैध कारण हो सकता है, लेकिन आपको शायद यह सुनिश्चित करने की आवश्यकता है कि टीम के बाकी सभी लोग आपके जाने से पहले और कुछ अजीब बनाने के लिए सहमत हों।

उस समय के बाद सर्वोत्तम प्रथाओं के बारे में कुछ तर्क बहुत कुछ उगलते हैं कि अगले डेवलपर को उस पर काम करने से नफरत होगी। हर कोई ऐसे कोड से नफरत करता है जो उनकी शैली नहीं है, और हर कोई किसी पर भी सब कुछ छोड़ देता है, इसलिए या तो आप इसे अगले देव को समझाने जा रहे हैं, जब वे किसी चीज़ के बारे में सोचते हैं, या आप वहां नहीं जा रहे हैं और खराब बात करते हैं इसकी परवाह किए बिना कि आप इसे कैसे कोडित करते हैं। इससे वह चिंता ज्यादातर अप्रासंगिक हो जाती है।


1

सामान्य ज्ञान हमेशा सर्वोत्तम परिणाम नहीं देता है। हालांकि, सर्वोत्तम प्रथाओं की कोशिश की गई है। यह सर्वोत्तम प्रथाओं को सूचना का अधिक विश्वसनीय स्रोत बनाता है।


0

सर्वोत्तम अभ्यास सर्वोत्तम नहीं हैं, और सामान्य ज्ञान सामान्य नहीं है। ;-)

सर्वोत्तम प्रथाओं या सामान्य ज्ञान के लिए, मैं उन्हें पैटर्न के रूप में सोचना पसंद करता हूं; एक: एक पैटर्न की परिभाषा याद समाधान एक में संदर्भ के समाधान बलों एक में जिसके परिणामस्वरूप संदर्भ

आप जो कुछ भी करना चाहते हैं, उसके लिए आपको उस संदर्भ को जानना चाहिए, जिस पर वह लागू होता है, वह जो हल करता है, और इसके परिणामस्वरूप जो संदर्भ बनता है। फिर, अपनी टीम पर निर्णय लें कि आप आमतौर पर किस पैटर्न का उपयोग करने जा रहे हैं। (यह औपचारिक या अनौपचारिक हो सकता है, लेकिन किसी भी तरह से, यह सिर्फ चार किताबों के गिरोह से बहुत बड़ा है। इसमें भाषा मुहावरे और स्थानीय सहायक पुस्तकालय शामिल हैं, न कि केवल प्रकाशित पैटर्न।)

अगर आपको लगता है, आपके अनुभव के आधार पर, कि एक निश्चित परिस्थिति में, दिए गए पैटर्न का उपयोग न करना बेहतर होगा, लेकिन कुछ और करने के लिए, लोगों को बताएं। संभवतः संदर्भ या बल यहां भिन्न हैं (या शायद परिणामी संदर्भ अवांछित होगा।) मुझे कोई फर्क नहीं पड़ता कि क्या यह एक बैठक, एक कोड टिप्पणी या क्या है, लेकिन यदि आप यह स्पष्ट करते हैं कि आपने उद्देश्य पर पैटर्न को तोड़ दिया है , तुम मीलों आगे हो जाओगे।


-1

सबसे अच्छा अभ्यास वह है जो वे आपको स्कूल में पढ़ाते हैं, सामान्य ज्ञान वह है जो बॉस आपको चाहता है। पूर्व सॉफ्टवेयर बनाता है जो लालित्य, शैली और जैसे कुछ मानकों को पूरा करता है। उत्तरार्द्ध बिलों का भुगतान करता है / पैसा बनाता है इसलिए आपको प्रत्येक सप्ताह भुगतान किया जाता है।

एक कला है, दूसरा व्यवसाय, हम में से बहुत से लोग इसे भूल जाते हैं।


बॉस को इस बात की परवाह नहीं है कि आप अपने अभिनय के तरीके को कैसे तर्कसंगत बनाते हैं, वह समस्याओं की परवाह नहीं करता है। एक समाधान जिसे आप 'सामान्य ज्ञान द्वारा प्राप्त' कहते हैं, एक के रूप में उसके लिए उतना ही अच्छा है जितना कि 'सर्वोत्तम प्रथाओं का पालन करके'
केप्पला

मुझे मेरे उत्तर की पुष्टि करें। सर्वश्रेष्ठ अभ्यास का उपयोग अक्सर इंजीनियरिंग के लिए एक बहाने के रूप में किया जाता है, इस हद तक कि वे कई सॉफ्टवेयर हाउसों का पर्याय बन जाते हैं। कॉमन सेंस परियोजना के सफल (आमतौर पर वाणिज्यिक) पूरा होने के हित में इंजीनियरिंग से अधिक परहेज कर रहा है।
मटनज़

-1

थोड़ा अतिरंजना करने के लिए: अंतर कॉमन सेंस प्रीजुडिस है, बेस्ट प्रैक्टिस (होना चाहिए) विज्ञान है

मेरे अनुभव में, 'कॉमन सेंस' का उपयोग तब किया जाता है, जब कोई चीज़ करने के तरीके के लिए सबूत या कम से कम तर्क प्रदान नहीं करना चाहता। इसका मतलब यह नहीं है कि रास्ता गलत तरीके से गलत है, लेकिन इसका मतलब यह नहीं है कि यह अच्छा है।

मैंने जिन चीजों का सामना किया, उनमें से एक था कि मधुमक्खी के सामान्य ज्ञान ये रत्न हैं।

  • HTTP-Method काफी हद तक अप्रासंगिक है, जब आप थोड़ा डेटा ट्रांसमिट करते हैं, तो GST का उपयोग करें, जब ज्यादा ट्रांसमिट करते हैं तो POST का उपयोग करें (यानी, URL के लिए बहुत ज्यादा)
  • फ़ंक्शन बहुत छोटा नहीं होना चाहिए, क्योंकि यह याद रखना कठिन है कि वे क्या करते हैं। एक बड़ा कार्य 5 छोटे लोगों के लिए बेहतर है, क्योंकि आप इसे एक के रूप में पढ़ सकते हैं
  • डेटाबेस और वेबसर्वर MUST एक ही मशीन पर चलते हैं, वरना वेबबेस सेवा धीमी हो जाएगी। स्केल करने का एकमात्र तरीका है कोड को हैक करके और एब्सट्रैक्शन के माध्यम से गति करना, ताकि एक मशीन की शक्ति का सामना करना पड़े।

Funny कॉमन सेंस ’के बारे में मजेदार बात यह है कि यह आम नहीं है: दो टीमों को चुनें और उन्हें यह बताने दें कि वे जो चीज हैं वह 'सामान्य ज्ञान' है, और धार्मिक युद्धों का आनंद लें।

दूसरी ओर, 'बेस्ट प्रैक्टिस' के रूप में, मैं चीजों को करने के तरीकों पर विचार करूंगा, जिनमें थोड़ी अधिक 'सहकर्मी समीक्षा' हो। किसी 'सर्वोत्तम अभ्यास' पर विचार करने के लिए, मैं अपेक्षा करता हूं कि यह स्पष्ट रूप से पर्याप्त रूप से तैयार हो ताकि इसे एक अवधारणा के रूप में प्रस्तुत किया जा सके ('संरचित प्रोग्रामिंग' सर्वोत्तम अभ्यास है, 'गोटो भ्रमित कर रहे हैं, उनसे बचना' सामान्य ज्ञान है), और अच्छे परिणाम के साथ एक से अधिक बार आवेदन किया।


क्या आप कह रहे हैं कि "बेस्ट प्रैक्टिस" हमेशा हर स्थिति में उचित होती है, और जहाँ सबसे अच्छा अभ्यास होशपूर्वक नहीं किया जाता है वह बुरा है ("अच्छा नहीं")।
मटनज़ जूल

1
नहीं, मैं कहता हूं कि "बेस्ट प्रैक्टिस" में पूरी तरह से अनुचित नहीं होने की संभावना अधिक होती है, क्योंकि यह "सहकर्मी समीक्षा", सामान्य ज्ञान के विपरीत, जो केवल एक व्यक्ति को उचित लगता है। मैं किसी ऐसी चीज को लागू करने के खिलाफ नहीं हूं जिसे कोई "सामान्य ज्ञान" मानता है, मैं किसी भी चीज को सामान्य ज्ञान के रूप में सही ठहराने के खिलाफ हूं।
कीपला जूल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.