搞開發的幾乎每個人都遇到過這樣的事情:修改一段別人寫的**,然後覺得這**寫的非常爛,一邊加班加點的修改,一邊不停的問候著作者的祖宗……
非常不幸,我最近也遇到了這個問題。仔細說起來,這件事情跟我也有一定的關係,當時review工作做的不好,以後也要更加重視這一部分的工作。
這次遇到的問題說起來也簡單,就是過分的追求「重用性「,加上沒有注釋,導致在邏輯上非常難以理解,幾乎看不懂。簡單的來說,為了重用某乙個頁面,在這個頁面上加了十幾個if語句,if來else去的,從總體上來說,減少了頁面的數量,但是具體到頁面,太過龐大,太過臃腫。這樣的架構,導致了這個頁面出問題是必然的。而後面修改的人根本無從下手。
軟體一般的特點是要降低耦合度,提高內聚度。而提高重用性是降低耦合的乙個重要機制。所以大多數書裡都在強調如何如何提高重用性。kent beck在那本經典的《重構》裡也提到過重用,是通過乙個具體例子,對一段現有**的重構過程中提到了重用性這個問題的。
大多數新員工也不太重視重用性這個問題,寫出的**能完成工作即可。也許這位同事是為了偷懶,也許是曾經看過這些書,在這個專案中,犯了乙個非常重要的錯誤,為了提高所謂的那點重用性,導致整個功能的不可維護性,一點也不值!
關於執行緒的重用
關天重複呼叫執行緒的問題 class thread extends threadelse soapobject來儲存返回的資料 detail gws.getweather city catch exception e finally 啟動執行緒.只需要 thread th th new thread...
關於軟體重用
在現實的大多數專案中,我們都在考慮著軟體重用的問題,因為這是在軟體開發中無法避免的乙個很現實的問題,也是乙個很讓人的頭疼的問題。下面是我對軟體重用的非常個人的理解,僅作參考。軟體重用可分為兩個層次,乙個層次是設計上的重用,另外乙個層次是 級的重用,而 級的重用上又可分細分為兩個層次,乙個是基於源 的...
關於tableViewCell 的重用若干問題
tableviewcell 重用機制 為每個cell指定乙個重用識別符號 reuseidentifier 當cell滾出螢幕時,會將滾出螢幕的單元格放入重用的佇列中,當某個未在螢幕上的單元格要顯示的時候,就從這個佇列中取出單元格進行重用。對於系統的tableviewcell我們一般採用如下幾種方式解...