代碼設計優化同時必須保持簡單的原則,不在一開始進行大量的設計投入。以嶁,软件编旅劗前,鸭汃的软件设计是不可或蠕^。但舒@,我发辖K庵炙悸肺幢厥欽返。灾k芙崍艘恍┛⒕櫓,我发相崿很多的时间其实蕮屗费哉屗设计上?
在一個軟件的設計中,對界面結構有著很強的要求,而Eclipse的設計思路正當其時。因此,我興奮的將Eclipse的設計思路注入到界面設計上來,在花費了大量的時間進行設計和實現之后,發現并不能很好的滿足需要。更為糟糕的是,由于設計的復雜性,導致調試和變更的難度都加大,而團隊的其它成員,也表示難以理解這種思路。最后的這個設計廢棄了,但是損失已經是造成了,復雜的設計和實現,足足花費了一個星期的開發時間。
重構和審查
除了第一次的迭代,后續的迭代過程都是建立在前一次迭代的基礎上。因此,每一次迭代中積累下來的問題最終都會反應在后續的迭代過程中。要想保證迭代順利的進行,對代碼進行重構和審查是少不了的工作。其中最重要的工作莫過于消除重復代碼,重復代碼是造成代碼雜亂的罪魁禍首。消除重復代碼的工作可不僅僅只是找出公函這么簡單,其間涉及到重構、面向對象設計、設計模式、框架等眾多的知識。這些知識的介紹并不是本文的重點,但是我們必須知道,只有嚴格的控制好代碼的質量,軟件的質量和軟件過程的質量才有保證。
推遲設計決策
精益編程告訴我們,盡可能推遲決策。在一個變化的環境中,早期的決策往往缺乏足夠的事實支持和實踐證明。即便是再高明的軟件設計師,難免會犯錯誤,這是非常正常的,那么,既然目前的決定是有著很大風險的,那為什么我們還要急于做出決定呢?在看待設計這個問題上,一種比較好的做法是,盡量避免高難度、高浪費的設計,以滿足現有的需要作為實現的目標。未來的需求等到確定的時候再進行調整。
推遲決策其實是軟件設計的一大能力,為什么我們會推薦使用面向對象技術呢?因為面向對象技術具有很強的推遲決策的能力,先將目前確定的問題納入面向對象設計,并為未來的不確定性留下擴展。推遲決策并不是一個簡單的問題,它需要很強的面向對象的設計思維能力。
設計模式中有很多這方面的例子,其中的裝飾模式具有很強的代表性。
文章來源于領測軟件測試網 http://www.kjueaiud.com/