近期的努力學習,一直希望能突破一個瓶頸,就是熟練工,目前感覺到自己就是一個熟練工,對于工作中所接觸到的技術,基本的API都知道,完成工作也比較順利,按照以前在華為外包做開發的經歷,有領導明言,開發就是倒騰一堆API么。我想,開發如果僅僅是倒騰一堆API的話,那么這種工作沒有任何意義,因為這一堆API的倒騰最終會實現自動化,就算不能,我們開發人員也只是倒騰API的工具,沒有任何價值而言,正因為如此,近期才會有突破這個瓶頸的強烈欲望,希望通過擺脫對工具的依賴,找出技術的本質,達到進一步的提高。
今天無意間讀到林銳博士寫的一本書--<<軟件工程思想>>,隨便翻了一下,看到其中有一段關于軟件開發的基本策略,現記錄如下。
軟件開發的基本策略有三種,復用,分而治之,優化-折中。
復用,就是我們可以利用前人開發的成熟功能或模塊進行組裝調用,來實現我們在開發工作中需要的功能,但是僅僅這么復用下去的話,那么我們也不會有進步,也不會有創新,個人價值從何體現?所以我們需要在復用的同時,對成熟模塊進行優化,理解它的工作原理,從而達到更好的使用,以及站在更高的層面來實現成熟模塊的功能,還有對現有系統也要進行優化。此外,復用還需要注意的是,復用是我們拿別人的東西,同樣,我們做的東西,也要方便別人來拿著用才可以。這樣才能實現最大價值。
分而治之,好像很多地方都有提到這個名詞,我在算法書上也有見過類似的思想。將一個復雜的功能分解成很多個簡單的功能,然后逐一擊破,最后將每個簡單功能的實現組合起來,就是這個復雜功能的實現了。但是分解問題的過程需要注意的是,分解并不是簡單的拆卸,要確保分解后的功能,最后歸并,還是原來的復雜問題才可以。
優化-折中,優化工作并不是可有可無的工作,而是我們必須要做的事情,當優化工作中遇到困難時,我們可以選擇折中方案,但是該方案的前提是不能損失其他功能。
今天無意間讀到林銳博士寫的一本書--<<軟件工程思想>>,隨便翻了一下,看到其中有一段關于軟件開發的基本策略,現記錄如下。
軟件開發的基本策略有三種,復用,分而治之,優化-折中。
復用,就是我們可以利用前人開發的成熟功能或模塊進行組裝調用,來實現我們在開發工作中需要的功能,但是僅僅這么復用下去的話,那么我們也不會有進步,也不會有創新,個人價值從何體現?所以我們需要在復用的同時,對成熟模塊進行優化,理解它的工作原理,從而達到更好的使用,以及站在更高的層面來實現成熟模塊的功能,還有對現有系統也要進行優化。此外,復用還需要注意的是,復用是我們拿別人的東西,同樣,我們做的東西,也要方便別人來拿著用才可以。這樣才能實現最大價值。
分而治之,好像很多地方都有提到這個名詞,我在算法書上也有見過類似的思想。將一個復雜的功能分解成很多個簡單的功能,然后逐一擊破,最后將每個簡單功能的實現組合起來,就是這個復雜功能的實現了。但是分解問題的過程需要注意的是,分解并不是簡單的拆卸,要確保分解后的功能,最后歸并,還是原來的復雜問題才可以。
優化-折中,優化工作并不是可有可無的工作,而是我們必須要做的事情,當優化工作中遇到困難時,我們可以選擇折中方案,但是該方案的前提是不能損失其他功能。