題記:正在讀《浮現式設計:專業軟體開發的演化本質》(榮獲第19屆Jolt生產力大獎)一書,順手寫下了一點自己的感想與淺見,是以為記。
各行各業幾乎都有自己的實踐,不管是約定俗成,還是通過文字傳承,都在這個行業中起著重要的作用。作為軟體專業,雖然年輕,但該專業對實踐格外重視,所以注重實踐,並積累實踐經驗對這個專業的發展就尤為重要。
我們先來看書中提到的四個實踐。
統一編碼風格這一實踐是很基礎的,但也易於被很多人忽略。一個項目開始,一個Team Dev成立,編碼規範就要被定義下來,並在工程實踐過程中不斷的修訂。編碼規範不僅統一了編碼風格,還對注釋、命名、慣用法等進行約束,從而在團隊成員之間形成一種契約。這種實踐對代碼的可讀性和可維護性都有較好的增強。大多數時候我們都是在維護已有的代碼,我們都不想被不可維護的代碼透支精力,所以制定編碼規範、統一編碼風格是一個好的起點。
意圖導向編碼我覺得這個稱謂不重要,其實還是自頂向下的那一套,不過也略有不同吧,畢竟自頂向下是面向過程方法中的概念,到了物件導向方法,作者用了意圖導向了。而這個意圖導向作為實踐提出,我認為說的是對public方法的實現要注意體現業務當中的順序、步驟等調用意圖。換句話說,在一個類的內部,當實現某一public方法時,採用對一系列其他方法的調用和較清晰簡捷的流程,可以完全與業務意圖相吻合。其實也可以用幾個其他的實踐來達到這一目的,比如良好的命名、函數分解等。
封裝建構函式也是一個實踐,只是通常我們並不這樣認為,而是換成另一種說法,即使用建立型模式。封裝建構函式也是對前一章建立與使用分離原則的一個實踐體現,前已述及,不再重複。
公用性與可變性分析我認為放在實踐一章有點不太符合了。
其實我們的工作過程中還有很多其他的實踐,比如Demo開發。遇到一個複雜問題或難題時,我們通常會單獨建立一個demo來解決這一問題,如果解法可行,再合并到項目代碼中來。再比如樁函數,可以協助我們快速完成設計驗證。不過也許我之實踐與作者說的‘實踐’有些差異,作者更傾向於通用的實踐,低成本,易教,非常有用。但不過怎樣,這些實踐都在不知不覺的協助我們開發代碼,建立一套可靠的實踐也可以確何我們的軟體能夠越來越好的滿足不斷變化的需求。
你有你的實踐清單嗎?希望更多好的實踐可以被分享。
——歡迎轉載,請註明出處 http://blog.csdn.net/caowenbin ——