在最近開發乙個專案的過程中遇到的一些純軟體的問題;
1、整個軟體的功能劃分在已開始是明確的,但是隨著程式的編寫以及一些結構的調整,各個模組之間的聯絡越來越緊密,特別是事件相關的邏輯,地圖分析、實時事件報警、歷史事件查詢、事件回放等,都要用到事件,都要讀取事件。導致了這幾個模組之間的強耦合。
2、有一些類在已開始時功能是明確的,但是隨著程式在後期的修改,隨著功能的新增與刪除,導致了有的類的責任過多,有的類的責任過少。很多類的功能逐漸與其名字不再吻合。
3、類、函式以及成員變數的命名也有些亂,這主要有以下幾個原因:有時為了盡快完成某個功能,來不及想到乙個好名字就匆匆下手了,可能本來是打算寫完之後再來修改的,可是寫完之後由於惰性就不想再來改了;對於某一型別的命名,在已開始的時候採用的是一種convention,後來覺得另外一種convention更好一些,就又採用另外一種,可是前面的並沒有修改過來,這就導致了命名規則的不一致.
4、有時只是靠直覺就覺得某個類有很大臭味,想要對其進行重構,可是真的要動手的話,往往又覺得無從下手,這可能是由於在個人的思想上欠缺一些原則性的東西,不知遇到某一類的事情應該怎麼處理。以前一直以為學會使用一些模式也就差不多了,可是現在看來,就目前掌握的這些模式還是遠遠不夠的,所以乙個是要多掌握一些模式,另外應該還要補充一些別的東西,至於是什麼,暫時也說不上來。
怎麼用軟體設計班旗 關於軟體設計的心得
關於軟體設計的心得 之前做過乙個投資管理系統 甲方負責的專案經理是公司的管理層,可以說一輩子都是在做公司的投資管理活動 對這一套流程和各方面的把控都非常瞭如指掌,用他自己的話來說 我其實自己腦子裡面有一套系統的,只不過現在是結合貴公司的實施能力,把它具現出來了。最後的結果是,系統按照預想的完整的投資...
關於軟體設計中的分歧 資源清理
背景 軟體退出,即關閉軟體。分歧 1 甲認為軟體退出,程序結束之後作業系統將其占用的資源進行清除,即將其占用的記憶體清除,將其開啟的檔案關閉,其核心使用物件遞減,同時所有使用者物件和gdi對 象均被撤銷,所以不需要對各執行緒的退出做順序化處理。2 乙認為應該嚴格控制軟體退出時各模組的順序,這樣可以避...
軟體設計中的演算法
說到演算法這一塊,有大量的知識等著我們去了解,去學習,去 定義 演算法是對特定問題求解步驟的一種描述,它是指令的有序序列,其中每一條指令表示乙個或多個操作。特性 1 有窮性 finiteness 演算法的有窮性是指演算法必須能在執行有限個步驟之後終止 2 確切性 definiteness 演算法的每...