摘要:本章我們來聊聊重構造成的災難性毀滅。看到這里即可明白重構造成的災難性毀滅是在年的時期發生的,那個階段在技術不夠扎實但還有一股子改變世界的勁頭發生的問題。
前言
這章我在7月20號的時候就準備好了標題,在那之前有寫過一篇重構的文章,這段時間一直在等重構造成的弊端。
慶幸的是至今也沒掛掉。本章我們來聊聊重構造成的災難性毀滅。
青銅只要你確定你是一個真正的程序員,那當你接手一個新項目時,因為每個人的編碼規范與風格不同,或者某塊代碼出現了問題,作為一名向上的程序員,總會想去重構這個項目更嚴重的都想重寫一遍。例如下面的這類代碼
$status = $_POST["status"] switch status { case ... break; case ... break; default: if(){ ... }else if(){ ... }else(){ ... } break; }
我知道當你看到這段代碼內心是崩潰的,如果是名新人,在沒有完全理解其結構作用的情況下,絕對不敢擅自動原有的代碼,除非他想加班,那怎么辦呢?只好在原有的代碼上繼續增加代碼了。
$status = $_POST["status"] switch status { case ... break; case ... break; default: if(){ ... }else if(){ ... }else if(){ ... }else (){ // 新人寫的 } break; }
這塊聊的新人入職,一般是不敢動原有代碼的。當然這不排除有膽量并且重構的也不錯的新人。
白銀上面聊的與重構并無太大關系,但是必須存在的一段,用于表現程序員重構道路上的勇氣。當你到白銀差不多需要1-2年的時間,具體時間要個人處在的環境和自學能力。新人不敢動是因為他對語言的基礎用法,類庫,設計模式都沒有特別了解,不敢擅自做動作也是比較聰明、保守的做法。
但到了白銀就不一樣了,我總結了程序員從入門到中級的心理變化,為什么只總結到中級?(PS:作者我自己都沒有到高級)這是一個從謙虛到高傲在到什么都不會的過程。
看到這里即可明白重構造成的災難性毀滅是在2-4年的時期發生的,那個階段在技術不夠扎實但還有一股子改變世界的勁頭發生的問題。
例如積分系統(這里指新接手的項目),領導讓你修改簽到獲得積分,如果在未全面了解代碼結構與功能分布時,擅自修改那必然出現一場不可避免的災難。一個簡單的簽到功能的模塊復雜度不亞于一個普普通通的企業站。大致有如下模塊組成
用戶模塊 -> 積分模塊 -> 交易模塊 -> 明細模塊
為什么說是必然?除非你在原有基礎上改,那這樣你又變回了青銅并且也不想那么做。在基礎上重構可能當時不會出現問題。不斷的有其他接手早晚回出問題。重構的災難并非指的是一個人或某個人造成的,就如一個水杯,每個人看到都倒入一滴水,當溢出來時就發生了所謂的“災難”
黃金到這個段位后,很多人都變得聰明了,不在基礎代碼上修改,更不去所謂的重寫。多帶帶拿出一個文件寫功能不就好了。事情還遠沒有那么簡單。
就如上圖那二貨,認為自己可以,但最終Over。在項目開發上我們見過很多類型的情況。重構的方式方法有很多種,因人因物(項目)而異,對項目作出合理的分析后再對其作出一部分細節的重構,日月累計最終成形。
總結如果你正在做重構應考慮以下幾點
成本
工期
代碼的優雅與簡潔
可擴展性等等
為什么要重構?原有代碼無法更好的擴展,代碼可讀性差無法在其基礎上修改的等等原因。希望會對你提供重構質量有一定幫助。
致謝感謝你看到這篇文章,希望可以幫到你,謝謝。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/72200.html
摘要:本章我們來聊聊重構造成的災難性毀滅。看到這里即可明白重構造成的災難性毀滅是在年的時期發生的,那個階段在技術不夠扎實但還有一股子改變世界的勁頭發生的問題。 showImg(https://segmentfault.com/img/bVbjDK2?w=1734&h=682); 前言 這章我在7月20號的時候就準備好了標題,在那之前有寫過一篇重構的文章,這段時間一直在等重構造成的弊端。 慶幸...
摘要:考慮到云數據中心未來承載業務系統的多樣性和擴容空間,一般都會把架構設計成公有云和私有云相混合的融合架構。針對傳統災備系統建設面臨的挑戰,云數據中心更多傾向采用兩地三中心的解決方案。近年數據中心處于高速的建設發展時期,十三五規劃中也將大數據、云計算作為當前國家經濟社會發展的重要戰略內容,各政府部門對戰略性新興產業的大力扶持,以及對云計算、物聯網、寬帶和下一代網絡的發展的高度重視,都給建設數據中...
摘要:類加載器三杰有三類,分別是以及。線程上下文類加載器線程上下文類加載器可以不遵循雙親委派機制。免費領取驗證碼內容安全短信發送直播點播體驗包及云服務器等套餐更多網易技術產品運營經驗分享請訪問網易云社區。文章來源網易云社區 本文由作者張遠道授權網易云社區發布。 類加載器三杰 jvm有三類classloader,分別是bootstrap classloader,extended classlo...
摘要:年月日,論壇首次來到中國,在上海跨國采購會展中心召開并獲得了圓滿成功。擁抱微服務就成為大勢所趨。和大會日期會議日程通告日期年月日會議活動舉辦日期年月至日和贊助方案和多元化獎學金現正接受申請和即將首次合體落地中國和購票窗口,立即購票 KubeCon + CloudNativeCon 論壇,作為 CNCF 的旗艦會議,自2016年以來已經在北美和歐洲兩地的舊金山、倫敦、硅丘(奧斯汀)、哥本...
摘要:前后端的界限是按照瀏覽器和服務器的劃分。前后端彼此互不關聯。關于作者本文部分圖片段落參考文章實踐中的前后端分離。淘寶前后端分離實踐本文源碼詳見服務端代碼。 一、起源 (故事純屬虛構,如有雷同,純屬巧合)傳說在很久很久以前,我們有志之士有了個創業的想法,于是乎開始了自己的創業之夢,但是人手不足啊,于是乎所有角色老子一個人全包了: Roles: PM, DBA, RD, FED, Des...
閱讀 1123·2021-11-08 13:13
閱讀 1707·2019-08-30 15:55
閱讀 2762·2019-08-29 11:26
閱讀 2427·2019-08-26 13:56
閱讀 2549·2019-08-26 12:15
閱讀 2125·2019-08-26 11:41
閱讀 1394·2019-08-26 11:00
閱讀 1530·2019-08-23 18:30