軟件要怎麼做纔有一個好的維護性呢?
這個問題的標準答案可能沒有,因爲涉及的概念很多,面很廣。
由於我現在從事的工作有一部分涉及到別人的代碼的維護,所以,我說說我的看法
1。首先要有一個好的框架,或許我現在也不大明白什麼是框架
比如,你的程序需要放訪問一個鏈表,但是所涉及的操作是由兩個線程來操作,那麼你的數據需要加鎖
如果你有這幾個數據經常在一起被訪問: int number,int id,int name ; 所涉及的操作也是對這幾個數據都要產生影響,建議你將它寫成結構。
從大的方面來說: 假如你要考慮你的類的設計,涉及的操作和數據,和數據存取的形式,以及需要重載得操作。
我看到了一個程序:
for(i=0;i<LENTH;i++)
for(j=0;j<WIGHT;j++)
m_List [i][j] = new CMyListBox;
我個人覺得這樣的代碼給維護的工作帶來了很大的麻煩,如果能夠寫成new CMyListBox[WIGHT]這樣的形式的話會好得多,因爲在你的傳遞過程中,如果採用了引用的方式,很容易不知覺中將內存釋放,而在你的程序推出的時候很難找這個問題。
2。應該多寫函數來控制
有一句話我比較贊同,能夠自己控制你程序的流程的越多越好。
如果維護一個一個的變量,你自己也會很麻煩。如果能夠寫成函數的形式,一個功能功能的測試的話,對你自己來說也是很方便,同時這也是C語言的方式。(至少可以有功能塊得測試)
3。小的東西是能夠用函數來代替,如果是一個大的東西,包括數據和操作。C++給我們說了,要用類。但是類如果寫得比好,封裝成動態庫更好。假如你的程序發佈了過後,可以不改你的接口,而只需要將動態庫換掉
好像也不用編譯:)
4。程序的書寫,希望能有自己的方式。但是應該有一個讓人容易明白的方式,至少要明白作者,功能、時間、如果算法比較複雜,請詳細說明。
5。變量的書寫。雖然變量的命名很隨意,但是希望能夠參照一個好的方式。比如
bool m_bPlay ; 和bool m_play ;或則bool m_flag ;意思是要能夠說明變量的用途
今天吃飯吃到了蟲,鬱悶,錯誤指出,謝謝!