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