是什么阻礙了代碼的重用?問題是否應該只解決一次即可?

2017-04-10 1180 7 編輯:深圳網站建設 來源:互聯網

因為復用并非無代價,而且代價往往還很高。從工程上說,任何特性都不是無代價的。復用提供了解決一類問題的靈活性,而靈活性作為一種功能,同樣有代價——正如過多地使用虛函數有性能損失,而過多地使用 interface 則一定程度上降低代碼可讀性。如果構建靈活性的基石皆有代價,那么我們不可能期望靈活性可以免費獲得。而所有的問題解決之道本質上都一樣:我們需要權衡每一個選擇的好處和壞處,做出對我們現在的項目最有利的方案。舉例來說:我們不會在項目最緊張的時候討論把業務邏輯抽取出來做一個通用的框架,原因很簡單:時間不夠用。我們也不會在討論怎么設計通用框架的時候過多地討論我們具體項目的邏輯,因為追求通用性的設計目的導致我們不可能完全為某一個具體的業務優化。所以從這個意義上來說,阻礙代碼重用的最大原因,事實上來自項目自身:復用代碼在絕大多數情況下,都不是一個項目的最終目的。對任何項目來說,唯一絕對存在的目的,是在指定的時間內完成客戶給出的需求。當短期內完成功能的需求和復用發生沖突時,理智的項目管理者都不會選擇將注意力放在復用上。當然,熱衷于復用的程序員必然會以長遠的好處為理由為復用辯護;但正如前面的規則指出的,這依然是一個工程上的選擇問題,因而仍然需要折衷。在遇到問題時,總是先倒向某一個結果再試圖解釋,這不是折衷,而是預設立場,這恰恰是工程的大忌。至于第二個問題,回答是:是的,對任何問題只解決一次是理想狀態,但重復解決三到五次問題并非十惡不赦。客戶關心的是我們能不能解決他們的問題,而不是能不能對任何問題都只解決一次。——不要把自己的需求誤以為是用戶的需求,這仍然是一個工程問題。

專業的網站建設公司,深正互聯,如您有網站營銷需求,請您關注我們,或者致電13828884598

本站文章均為深正網站建設摘自權威資料,書籍,或網絡原創文章,如有版權糾紛或者違規問題,請即刻聯系我們刪除,我們歡迎您分享,引用和轉載,但謝絕直接搬磚和抄襲!感謝...
關注深正互聯
七星彩头尾