2009-02-18 17 views
19

के उदाहरण मुझे आशा है कि यह एक नकली नहीं है ...महान सॉफ्टवेयर डिजाइन और कार्यान्वयन

क्या है सबसे मजबूत बनाया गया है और कार्यान्वित सॉफ्टवेयर प्रणाली/रूपरेखा/आवेदन है कि आप का सामना करना पड़ा?

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

यदि कोई मुझे किसी भी अच्छी ओपन-सोर्स प्रोजेक्ट्स पर इंगित कर सकता है, तो मैं वास्तव में खोदना चाहता हूं और देख सकता हूं कि टीडीडी/सॉलिड/आदि क्या अच्छा है। की तरह लगता है। धन्यवाद।

उत्तर

7

स्पेस शटल सॉफ़्टवेयर?

They Write the Right Stuff

लेकिन कितना काम सॉफ्टवेयर करता क्या नहीं यह उल्लेखनीय बनाता है। यह उल्लेखनीय बनाता है कि सॉफ़्टवेयर काम करता है। यह सॉफ्टवेयर कभी भी क्रैश नहीं होता है। इसे फिर से बूट करने की आवश्यकता नहीं है। यह सॉफ्टवेयर बग-फ्री है। यह सही है, जैसा कि मानव प्राणियों के रूप में परिपूर्ण है। इन आंकड़ों पर विचार करें: प्रोग्राम के अंतिम तीन संस्करण - प्रत्येक 420,000 लाइनों में प्रत्येक में केवल एक त्रुटि थी। इस सॉफ़्टवेयर के अंतिम 11 संस्करणों में 17 त्रुटियों की कुल थी। के वाणिज्यिक कार्यक्रमों के समकक्ष जटिलता में 5,000 त्रुटियां होंगी। अन्य पदों की

+0

मुझे याद है कि यह कोड बहुत औपचारिक सबूत पद्धति के साथ विकसित किया गया था। क्या कोई इसे पुष्टि या अस्वीकार कर सकता है? – dmckee

0

गूगल क्रोम

+0

मैं क्रोम का आनंद ले रहा हूं लेकिन लिनक्स कहां से प्यार करता है? यह क्रोम के साथ मेरी एकमात्र असली समस्या है। –

+0

और क्या उन्होंने बीटा से सभी क्रैशिंग/फ्रीजिंग बग को ठीक किया है? –

4

टेक्स?

Knuth अभी भी reward for confirmed bugs की पेशकश कर रहा है।


बीटीडब्ल्यू: मुझे यकीन नहीं है कि Knuth वास्तव में मजबूत विकास करने के लिए किसी भी buzzword- तंत्र की सदस्यता लेता है। कोई विचार नहीं कि वह यह कैसे करता है। शायद विस्तार पर ध्यान दें।

4

.NET Framework।

  • यह बहुत अच्छा है जब मैं एक नामस्थान में "डॉट" करता हूं और इसके सदस्य बिल्कुल वही होते हैं जो मैं अपेक्षा करता हूं।
  • यह "बस काम करता है"।
0

फ़ायरफ़ॉक्स 2,0

  • सरल यूआई
  • मजबूत कार्यक्षमता
  • बहुत स्थिर
+0

रुको, क्या? Robost? स्थिर? नही हो सकता भाई! –

+0

मेरे लिए ठीक काम करता है ... इंटरनेट एक्सप्लोरर से निश्चित रूप से बेहतर 6/7 – Element

+1

@ एलिमेंट, सब कुछ इंटरनेट एक्सप्लोरर 6/7 से बेहतर है। –

0

अपाचे httpd।

  • स्वच्छ
  • सरल
  • कार्यात्मक

इसके अलावा: Graphviz - बिजली, स्थिरता और सादगी के एक भयानक उदाहरण।

मैंने कभी देखा सबसे अच्छा टुकड़ा कोड स्वामित्व था; यह सच लालित्य और सुंदरता की बात में काम किया गया था। लेकिन दुख की बात है कि यह गुमनाम रहना चाहिए।

BTW: किसी भी विशाल इंटरफ़ेस/एपीआई कि को सरल बनाया जाना, मजबूत परिभाषा के द्वारा नहीं बनाया गया है हो सकता है। और कई कंपनियों के लिए, बड़े बदसूरत इंटरफेस केवल बड़े और uglier प्राप्त करते हैं।

पॉल।

2

कई कार्यक्रमों, जो TDD के साथ लागू नहीं किया गया है का उल्लेख है, और इस तरह के रूप में "मैं वास्तव में खुदाई और देखते हैं कि अच्छा TDD/ठोस/आदि करना चाहते हैं एक जवाब देना नहीं है। की तरह लगता है।" उदाहरण के लिए, मैं काफी सकारात्मक हूं कि अपाचे HTTPD सर्वर और फ़ायरफ़ॉक्स के स्रोतों ने कभी भी टीडीडी नहीं देखा है। मैंने बस अपने छोटे स्रोतों को ब्राउज़ किया, और टेस्ट फ़ोल्डरों में केवल कुछ छोटी फाइलें थीं, और उत्पादन कोड ऐसा नहीं लगता था कि यह टीडीडी के साथ लिखा गया था या या तो सॉलिड का पालन करके।

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

मैं अपने स्वयं के प्रोजेक्ट, Dimdwarf Application Server में भी फेंक दूंगा, जिसे टीडीडी/बीडीडी के साथ 100% लिखा गया है और जितना संभव हो सके स्वच्छ कोड (एसओएलआईडी आदि के बाद) लिखने की कोशिश कर रहा है। वहां कुछ बदसूरत हिस्से भी हैं (ज्यादातर कार्य शेड्यूलिंग और कचरा संग्रह में), लेकिन वे भाग अभी भी काम में हैं और उन सुविधाओं को पूरा होने तक उन्हें साफ़ कर दिया जाएगा।

+0

एंडी दो चीजों के लिए पूछता है: मजबूत सॉफ्टवेयर के उदाहरण, और टीडीडी का उपयोग करके विकसित वास्तव में अच्छे कोड के उदाहरण। तथ्य यह है कि कुछ बेहतर उदाहरण टीडीडी का उपयोग नहीं करते हैं यह साबित नहीं करता है कि टीडीडी अच्छा नहीं है, लेकिन यह साबित करता है कि यह आवश्यक नहीं है। YMMV; नाम टीडीडी के तहत हालिया औपचारिकता; आदि... – dmckee

संबंधित मुद्दे