看過了太多包含N多框架的,功能齊全的開源項目,總都是在宣稱此框架能XXX,XXX.
開源挺好.
結果都一樣, 走入另一個軟件開發的沼澤繼續不能自拔,深陷其中,無能更改與糾正.
軟件是復雜的,復雜到超出了絕大部分程序員的能力,太多的廣度意味著精力的分散,缺少深度
與比別人更淺層次的理解,太多的僅限于會使用,會弄,會滿足當前項目要求,甚有直接從培訓
學校搬出來的開源.
寫程序,碼代碼,與做人做事毫無區別,你的時間在哪,成就就在哪,公平,公正.
迫于對工作的需要而不斷地增加框架,整合框架,會用即是目的,功能實現即是高手.然后開源.
殊不知對軟件,編程的理解少的可憐.天天一說便是熟悉這個,熟悉那個,一問深點啥也不知,
毫無羞恥感——最垃圾的程序員
對于什么是編程思想,什么是繼承,封裝,多態等等,說很容易,弄個簡單的例子也很容易(網絡
強大的好處之一),可真到了實際運用中,實際項目中,全然變成了以功能實現為目標,哪還知道
何談抽象,何談解耦,何談擴展性…
說的都是人,可人才是根本的問題所在,人的能力,素質,身體,思想跟不上,何談有小而精的深度,
精度.
“重復發明車輪”依舊是軟件從業人員的常態.若把這提升到一個人的人生態度,就能更反映出有多少人是把軟件編程當作一份職業,謀生的手段,而不是真正的熱愛與自己的興趣所在.
想想真是悲哀,那些一生沒有追求過自己,三四十年的職業生涯都沒干過自己最有興趣,最有成就感的事——程序員首不其沖,無以回避.
你的精力,身體,資源,始終是有限的,過多的大而全只會在讓你始終飄浮在一框架或技術的表面,
難以深入而有驚人的見解(有驚人見解的才是值得開源的).我曾對一些程序員說”如果你真正理解了MVC,那么你也能實現一個自己的MVC框架,而不管你用什么語言,什么方式”.只有真正的理解,思考,思索,再經過長時間的實踐,結合書本,才能真正形成你的思想——你的編程思想.
每個程序員都有自己的編程思想,各不相同卻又求同存異,健康發展.
個人認為開源首先要有”拿來用”精神,要勇于承認別人做的好的東西,盡量多的重要并吸收; 其次要有簡化的精神,太深奧的技術(如class編譯,加密算法)如何能用通俗的易于理解的話語來描述是開源的又一核心所在(能達到這一點的一般稱為master),畢竟使用開源的,大部分是普通的程序員(即會用的程序員).
最后,開源一定要有專注精神,專注是社會進步的基石,只有專注才能做出精而深的開源作品.任何的開源都要像商業項目一樣有明確的需求,要解決的問題,要達到的目的與效果,并堅持長久,不斷優化,完善文檔,使用說明等,才有可能成就優秀的開源作品.
基于現代的代碼庫,協作平臺的廣泛使用,要創建一個開源項目已是容易之更容易.你開源的是一件作品(而不只是你的代碼),是你的編程水平,文檔能力,綜合水準的深刻體現.
對待開源的態度,即等于你對待軟件編程的態度;是否成就優秀的開源,是否成為優秀的軟件工程師,也是你人生的完全體現.
2017-12-12 凌晨