2008-10-21 16 views
5

में उदाहरण मैं प्रोग्राम/प्रोजेक्ट है कि मध्यम आकार के लिए छोटे हैं कि लिनक्स पर सी में अनुप्रयोगों के विकास के लिए अच्छा आधुनिक तरीकों को दिखाने के लिए देख रहा हूँ। मैं उदाहरण के द्वारा सीखना चाहता हूं और उत्सुक हूं कि वास्तविक दुनिया में चीजें कैसे की जाती हैं।सी और आधुनिक तरीकों/लिनक्स

उत्तर

3

एक्सएमएमएस 2 कोडबेस काफी युवा है और आधुनिक शैली में सी का उपयोग करने के लिए तकनीक के साथ-साथ बहुत साफ (इसे कई प्लेटफॉर्म पर बनाना है) फैशन के लिए एक अच्छा उदाहरण है।

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

आप xmms2 कोड के भीतर कवर कई अलग अलग आधुनिक दिन मुद्दों देखेंगे। कोड बेस बहुत साफ है और यहां और वहां छोटे "पुराने कोड" के साथ आता है, जो अभी भी अच्छी तरह लिखा गया है।

यह भी एक परिष्कृत निर्माण प्रणाली का उपयोग करता है और डेवलपर्स भारी Git की सुविधाओं पर निर्भर हैं। तो केवल सादे कोड की तुलना में सीखने के लिए और भी कुछ है। यदि कोड के बारे में आपके कोई प्रश्न हैं, तो समुदाय आईआरसी पर सक्रिय और सहायक है।

http://xmms2.xmms.se

वापसी: यह छोटे नहीं है। लेकिन यह अपेक्षाकृत मॉड्यूलर है, विशेष रूप से सर्वर घटकों के साथ अलग-अलग वस्तुएं होती हैं, इसलिए आप इसका एक हिस्सा चुन सकते हैं जिसमें विशिष्ट मुद्दों को शामिल किया गया है और उससे सीखना है। या यहां तक ​​कि अपने खुद के ग्राहक, प्लगइन, जो कुछ भी लिखने की कोशिश करें।

0

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

9

The Art of Unix Programming

एक महान किताब बस एक खुशी को पढ़ने के लिए है। यहां तक ​​कि यदि आप * निक्स प्रोग्रामर या सी प्रोग्रामर नहीं हैं, तो उदाहरण और केस अध्ययन बहुत अच्छे हैं।

1
कुछ बड़ी परियोजनाओं से सावधान रहें

। वे विरासत कोड और अन्य पागलपन का एक मिश-मैश हो सकता है। उदाहरण के लिए: मोज़िला/फ़ायरफ़ॉक्स कोड बेस को उदाहरण के रूप में न देखें, यह एक बड़ी गड़बड़ है (हालांकि धीरे-धीरे बेहतर हो रही है)।

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