मुझे पता है कि किसी भी "सर्वश्रेष्ठ अभ्यास" के बाद अंधेरे से पता चल सकता है कि अभी भी बकवास की बदबूदार ढेर हो सकती है जो सख्ती से सर्वोत्तम अभ्यास का पालन करती है। सोलिड सिद्धांत केवल यही हैं, सिद्धांत। वे हर स्थिति पर लागू नहीं होते हैं लेकिन वे आपके कोड में संभावित सुधार खोजने के लिए अभी भी बहुत अच्छे हेरिस्टिक हैं।क्या कोई स्थिर विश्लेषण उपकरण है जो रिपोर्ट करेगा कि SOLID सिद्धांतों का कितनी बारीकी से पालन किया जाता है?
उनके लिए नकारात्मकता यह है कि उन्हें कभी-कभी उन्हें लागू करने के लिए आपके स्रोत कोड का गहरा विश्लेषण की आवश्यकता होती है। मैं, अधिकांश प्रोग्रामर लगातार चीजों को करने के अधिक कुशल तरीकों की तलाश में हूं, इसलिए अगर कोई किसी ऐसे विश्लेषण उपकरण के बारे में सुना है जो सोलिड सिद्धांतों (या इसकी कमी) के अनुप्रयोग की जांच करने का प्रयास करता है तो मैं उत्सुक हूं।
SRPएकल जिम्मेदारी सिद्धांत
एक वर्ग में केवल एक ही कारण लिए परिवर्तन किए जाएंगे।
ओसीपीखुली बंद किया गया सिद्धांत
सॉफ्टवेयर संस्थाओं (वर्गों, मॉड्यूल, कार्यों, आदि) विस्तार के लिए खुला होना चाहिए, लेकिन संशोधन के लिए बंद कर दिया।
LSPLiskov प्रतिस्थापन सिद्धांत
उप प्रकार अपने आधार प्रकार के लिए substitutable होना चाहिए।
आईएसपीइंटरफ़ेस पृथक्करण सिद्धांत
ग्राहकों तरीकों है कि वे का उपयोग नहीं करते पर निर्भर करने के लिए मजबूर नहीं किया जाना चाहिए। इंटरफेस ग्राहकों से संबंधित हैं, पदानुक्रमों तक नहीं।
DIP निर्भरता उलट सिद्धांत
चीजें विवरण पर निर्भर नहीं करना चाहिए। विवरण abstractions पर निर्भर होना चाहिए।
-से चंचल सिद्धांतों, पैटर्न और आचरण
* उनके लिए नकारात्मकता यह है कि उन्हें कभी-कभी उन्हें लागू करने के लिए आपके स्रोत कोड का गहरा विश्लेषण की आवश्यकता होती है। * यदि कोड का विश्लेषण (चाहे कितना गहरा) पर्याप्त होगा, ऐसे उपकरण संभव होंगे, हालांकि कोड को देखना काफी नहीं है। – Wolf
@ वुल्फ उस विशेष वाक्य के संदर्भ में मेरा मतलब समझने, अंतर्दृष्टि और अंतर्ज्ञान के आधार पर _human_ विश्लेषण था। –
क्या आपके पास ऐसे पैटर्न हैं जो मानव कोड विश्लेषण से पुनर्प्राप्त किए जाते हैं जिनकी उपस्थिति बाद में स्वचालित तरीके से जांच की जाती है? – Wolf