偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

你需要的不是重構(gòu),而是理清業(yè)務(wù)邏輯

開發(fā) 項目管理
最近我遇到了一位以前公司的同事。他提到了數(shù)年前我在那個公司曾經(jīng)開發(fā)過的項目。他說這個項目現(xiàn)在已經(jīng)變成了“職業(yè)殺手”?;旧希魏谓佑|過這個“職業(yè)殺手”項目的人最終都會離開這個公司。

[[70437]]

最近我遇到了一位以前公司的同事。他提到了數(shù)年前我在那個公司曾經(jīng)開發(fā)過的項目。他說這個項目現(xiàn)在已經(jīng)變成了“職業(yè)殺手”。基本上,任何接觸過這個“職業(yè)殺手”項目的人最終都會離開這個公司。如果公司想讓名下的程序員人數(shù)>0,唯一的辦法就是花數(shù)月時間完全重構(gòu)這個系統(tǒng)。

對于這事我有兩點要說。首先,在我離開這個公司前,這個系統(tǒng)的單元測試覆蓋率已經(jīng)達到了85%,所以,不要責(zé)備我。第二,這么大規(guī)模的重構(gòu)?肯定會出問題。

每一個系統(tǒng)里都至少有一個成為人民公敵、讓所有人害怕的組件。它承載了太多的任務(wù),它擁有太多狀態(tài),太多的其它組件調(diào)用它。當(dāng)時間到了償還技術(shù)債務(wù)的時候,人人都會把目光投向這個組件。然而,如果你對這個組件只有一個不全面的理解,你放下所有工作來完全重構(gòu)它,那你成功的幾率會很小。這個組件,就就它表現(xiàn)出來的令人恐怖的程度和復(fù)雜相比,它的實際情況會比你想象更復(fù)雜,更恐怖。

你認(rèn)為這個組件是如何發(fā)展成這樣一個不幸的狀態(tài)的?是因為公司雇用了一個笨蛋,讓他肆無忌憚的往系統(tǒng)里增加復(fù)雜度?或是因為這個組件最初設(shè)計的太抽象,由于多年來需求的變更,它的責(zé)任范圍不斷的擴大?(出于個人的自尊,我寧愿相信這個“職業(yè)殺手”屬于后者)。十有八九,這個組件變成如今這個恐怖的狀態(tài),都有由“聰明人”的一些“好意”造成的。如果你決定做一次大的重構(gòu),你實際是欠下了另一筆技術(shù)債務(wù)留給后人。

為了能真正的徹底償還這筆債務(wù),你需要去分解這個系統(tǒng)的復(fù)雜度。你需要花時間尋找所有調(diào)用這個組件的客戶端。你需要花時間跟你的同事交流,了解這個這個組件的歷史和它是如何被使用的。你需要簡化這個組件的周邊環(huán)境,看看它是如何運作的。每周,你都需要花更多的時間來更清楚的了解這個組件的業(yè)務(wù)。只要有足夠長的時間跨度,你最終能理清所有復(fù)雜的問題。

從實際方法上說,這個問題應(yīng)該怎么辦?與其現(xiàn)在花3個整月的時間做一次完全的重構(gòu),不如先用一個季度的時間做清理工作。最后還是要重寫,但有了3個月的計劃準(zhǔn)備,你有了時間去分析和設(shè)計。你有了時間來理清業(yè)務(wù)。

【編輯推薦】

  1. 如何做一個優(yōu)秀的前端重構(gòu)工程師
  2. 動態(tài)可重構(gòu)的智能光載無線接入技術(shù)
  3. 對設(shè)計及重構(gòu)的一點反思
  4. 再次重構(gòu)代碼
  5. 郭昂:漫談重構(gòu)

英文原文:

譯文連接:http://www.aqee.net/its-not-refactoring-its-untangling/

 

責(zé)任編輯:林師授 來源: 外刊IT評論
相關(guān)推薦

2012-11-16 09:32:26

NoSQLMongoDB云服務(wù)

2014-09-01 15:15:33

MSN微軟

2020-09-07 19:40:06

監(jiān)聽Facebook手機

2024-01-25 16:50:37

2012-05-15 01:16:19

開發(fā)重構(gòu)Java

2016-10-26 20:20:56

操作系統(tǒng)國產(chǎn)操作系統(tǒng)COS

2023-07-03 07:21:23

軟件敏捷編碼

2020-02-12 22:20:39

人臉識別人工智能AI

2012-04-20 11:06:26

開發(fā)創(chuàng)新

2021-07-29 06:26:33

代碼Activity開發(fā)

2020-06-17 16:38:22

Rust業(yè)務(wù)架構(gòu)

2022-09-29 10:26:59

iOSScaffoldflutter

2020-09-07 14:00:23

騰訊微博微信互聯(lián)網(wǎng)

2021-02-08 11:00:09

AI

2024-12-24 14:04:50

2022-03-16 11:03:40

數(shù)據(jù)庫元數(shù)據(jù)數(shù)據(jù)引擎

2021-01-11 13:35:14

996職場互聯(lián)網(wǎng)

2025-03-13 13:29:32

2021-11-26 14:37:44

數(shù)據(jù)庫業(yè)務(wù)邏輯應(yīng)用程序

2013-06-09 10:37:14

架構(gòu)框架
點贊
收藏

51CTO技術(shù)棧公眾號