開源項目也可以是你的良師益友
開源項目不僅僅給公司帶來巨大價值,同時也可以給使用者自身帶來巨大價值。
現(xiàn)在大部分公司產(chǎn)品的基石都是開源項目,從開發(fā)包到產(chǎn)品本身。我甚至在想,沒有開源項目的世界將會是一個什么樣的世界?;ヂ?lián)網(wǎng)的共享精神讓互聯(lián)網(wǎng)得以如此的快速發(fā)展。
但是,很多人僅僅局限于在用開源項目幫助公司快速的構(gòu)建起平臺,產(chǎn)品,其實開源項目還可以成為你的良師益友。
1.拓展你的社交關(guān)系
全球最大的代碼社區(qū) github 是一個社交的好去處。不管是我們共同在開發(fā)一個開源項目,還是我們一起在用一個開源項目,依托于開源項目,我們有了社區(qū),有了共同的話題。我們參加各種技術(shù)會議,我們因為這些開源項目而被彼此拉近,結(jié)下了深厚的情誼?;讶f歲!
2.成為你代碼范例的寶貴來源
我有個項目需要讀取 Kafka,然而我第一次接觸 Kafka 的 API,去 Google 后,發(fā)現(xiàn)那些代碼片段太 Demo 了,而直接這么拷貝過來的代碼片段往往隱含著巨大的危險。我一直在讀 Spark 的代碼,我就去翻閱了 Spark 中讀取 Kafka 的代碼,寫的很漂亮,而且是 “工業(yè)級” 的,復(fù)用度也足夠好。我覺得沒有比這更美妙的事情了。我想學(xué) Yarn 編程,除了看書,我還想看看真實的 “工業(yè)級” 代碼是什么樣子的,于是我去研究 Spark 里的 Yarn 相關(guān)的代碼,真的是很贊的一件事情。開源項目才是你真正的代碼范例的寶藏,盡情的去挖掘吧!
3.代碼規(guī)范的楷模
代碼除了要運行,還要能夠被閱讀。每個開源項目都會對代碼規(guī)范有要求,而且被證實經(jīng)得起大量的協(xié)作考驗,比如 Spark 的 scala-style-guide 規(guī)范,然后進(jìn)到具體的項目里,你還可以看到這些規(guī)則是如何的被有效的實踐的???Spark 代碼你能感受到一種美感。
當(dāng)我看到紅色框住的那行代碼時,我感動的淚流滿面。
4.編程語言的好教程
我曾經(jīng)是是很多語言的的程序員。C,PHP,Ruby,Java,Python,JavaScript,Flex。后面我學(xué) Scala,這是一個美妙的富有學(xué)院派氣息的,將面相對象和函數(shù)式編程完美統(tǒng)一的具有強(qiáng)大類型系統(tǒng)的語言。我從 Spark 源碼里看到了很多很有趣的用法,在了解開源項目的同時,我的語言知識也不斷的得到了更新。它是一個如此優(yōu)秀的老師,匯集了眾多 Scala 老手的經(jīng)驗,而這些我都可以通過 Spark 項目得到很好的學(xué)習(xí),還有傳承。
是的,開源項目證明了一門語言,成就了一門語言,也是最好的布道者,也是我們的好的語言老師。
5.獲得認(rèn)同感
無論是作為開源項目的 Contributor 還是資深用戶,你都會被很多人所敬仰。當(dāng)然,他們并不是敬仰你,而是敬仰你在開源項目努力。并且大家能夠從你身上更多的了解開源項目,并且能夠讓開源項目更加穩(wěn)定的運行在他們的平臺上。認(rèn)識社會動物,根據(jù)馬斯洛人類需求五層次理論,他讓程序員一下上升到了尊重需求和自我實現(xiàn) 這兩個最高級別的需求了。嗯,真的很棒。
6.向開源項目致敬
開源項目是我們的良師益友,讓我們向它致敬吧!