關鍵字:軟件“夠用”
很多程序員接觸Java基本是從Jsp開始,象使用PHP那樣使用Jsp,覺得這樣夠用就可以了,真的這樣做就可以了? 一些有編程經驗的老程序員一直在懷疑:軟件到底是否可以重用?他們認為實現重用會將軟件搞的復雜,走向另外一個極端,反而過猶不及,所以認為軟件“夠用”就可以,這種原始樸素思想曾經在CSDN程序員網站大行其道。
我覺得這種“夠用”的思想“誤導”了大批初學者,導致整個軟件系統的質量下降,這是對自己要求的降低換來了項目的快速進度,目前中國軟件業在風雨中飄搖與這種思想不無關系。
正因為有了“夠用”的思想,他們質疑Java的復雜性,質疑多層結構,質疑框架,質疑面向接口的編程方式,質疑AOP等新的技術思想,他們認為這些是“自找麻煩”。
很多人認為,為了追求靈活性,將簡單系統搞得復雜化是沒有必要的,他們認為靈活性和簡單性是矛盾的,其實他們只看到了問題的一個方面。
正好相反,靈活性和簡單性是不矛盾的,認為矛盾的人是因為他們還沒有抓住問題的本質,問題本質抓住,就非常簡單,也就具備相當的靈活性,正所謂大道至簡。
做軟件我覺得千萬不能有“夠用”的思想,而是要有“變化”的思想,經常問自己,我這樣做的前提限制條件是什么,如果需求變化了,正好擊中我這樣做的前提限制條件怎么辦。
程序員一定要有“計劃沒有變化快”的思想,樹立需求第一,沒有不變的需求的思想,我認為這是作為一個程序員的基本素質,如果我招聘程序員,我不會出試卷考他有多少技能,這些以后都可以學會,我會考他的做程序的思想,這真是世界觀的問題,世界觀錯誤,基本方向就不對,再高技能也是空的。
所以,從這個角度來看,現在軟件技術為什么強調復用,為什么要有框架?為什么要面向接口?這些好像是“自找麻煩”?
這些“自找麻煩”概念的推出正是幫助程序員應付不斷變化的需求。
因為需求變化快,程序員不可能來一個需求就重新建一個系統或程序,如果我們試圖在這些程序找出不變的東西,固化抽象成框架之類東西,那么需求變化時,我們只要在這個框架下根據具體變化的新需求開發少量的新的程序就可以了。這不是減輕程序員工作量?
換言之,這些看似復雜的概念能幫助程序員更快跟隨需求變化,這才是軟件程序員的本分啊。
上述道理我已經說了很多,也有人反駁過,不過我現在的實踐確實是這么做的,如我的JdonSD框架已經在OA、電子商務等系統不斷反復重用,提高了開發效率,同時也提高了系統質量,這才是真正地快速地提高了項目的進度。
建議初學者多多學習有關可復用軟件技術以及重整Refactoring、模式和框架等理論,將自己武裝得更加強大,提高自己的專業素質,使自己更加專業化。
讓那些對軟件復用的的懷疑者、“夠用”的實用主義者隨著大江東流去吧!
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/