軟件開發(fā)需要保持一顆嚴謹?shù)慕橙诵膽B(tài)。
首先,我們需要了解我們正在構(gòu)建的內(nèi)容。
在編寫任何代碼之前,我們需要回答一些問題。
我們正在構(gòu)建一個全新的應用程序嗎?
這是重寫嗎?
它是復雜系統(tǒng)的一部分嗎?
它可以獨立工作嗎?
有任何依賴嗎?
我們了解我們需要構(gòu)建什么嗎?
我們是否了解如何使用該軟件?
我們知道誰會使用它嗎?
我們了解這個軟件的作用嗎?
那段代碼的維護怎么樣?
正如你所看到的,有很多問題需要直接回答。我們甚至沒有編碼任何東西。所有這些問題都為我們提供了我們正在建設的背景,條件和限制。它們基本上決定了我們經(jīng)營的區(qū)域。
為什么這些問題很重要?為什么我們關心這是一個新的應用程序還是重寫?
好吧,如果這個應用程序是重寫,那么我們需要理解為什么我們重寫它。
重寫一些東西很可能是一項昂貴的練習,因此通常有充分的理由。也許它的使用一些舊的技術(shù)無法適應更大的系統(tǒng)項目,也許我們需要增加新的功能,也許我們需要使它更容易被它的用戶使用。也許我們需要讓它更容易維護。
是的,維護非常重要。
我們可能已經(jīng)編寫了世界上見過的最令人驚奇的軟件,但是如果沒有人理解它是如何編寫的,如果其他開發(fā)人員看到它并且嚇跑了,那么很可能每一個小修復或改變都不會只是很長一段時間但很可能會引發(fā)問題。
我們可以做很多事情來涵蓋其中的一些問題,并確保每個問題都有一個好的答案通常是一個很好的起點。作為開發(fā)人員,我們需要做的我們并不總是在維護代碼。因此,我們可以處理基礎:清潔代碼,良好的命名策略,SOLID原則,測試以證明它的工作原理。
如果這些事情得到妥善處理,那么我們已經(jīng)處于一個好的位置。