Spacesoft 的重構法則

2021-09-30 02:34:13 字數 1122 閱讀 3193

1、永遠不要使用全域性替換來處理要修改的內容。

要小心翼翼的檢查每個修改掉的地方,思考這些修改在這個地方有沒有引入什麼新的***,特別是那些**不完全是你寫的,或者離上次修改的時間已經不短了。那些看起來似乎完全一樣的**,面對一次修正,隱含的含義可能完全不一樣。不小心處理,你一定會痛恨自己為啥要做這些修改。

2、無論如何,修改之前首先要確定自己手頭有這個模組的測試**,路徑覆蓋得越完全越好,實在不行,有一點也比沒有好。

重構和亂改**的最主要區別就在於,每次的改進都是可控的。在沒有單元測試的情況下重構,就像在流沙上建築高台,除了勞民傷財,唯一的用途就是提高了配置管理員在你心目中的地位。

3、小步快跑,修改一點,測試一點,不要想著把自己的**全部修改完以後再來測試。

20分鐘內把乙個人變成胖子的唯一辦法就是把他打成胖子,你也老大不小了,所以不要相信那些一口吃成胖子的神話。相信我,修改大部分**再測試給你帶來的麻煩絕對不比重新開發這個模組的麻煩小,因為這樣的修改已經不可控了。

4、用乙個好的版本控制工具。

至少,即使你改得焦頭爛額,不可收拾的時候,你可以把重前的工作揀回來。雖然那些傢伙不夠好看,但是那些傢伙起碼能跑起來不是麼:)

5、不要太相信自己腦子總是清醒,特別是在連續加班的情況下。把要做的東西記下來,做完以後不僅要自己檢查,還要跑一遍測試程式。

程式設計師不用加班就像中東永久和平一樣是個神話,程式設計師不疲勞就像中國隊拿世界盃一樣僅僅是個夢想。所以別為難自己的腦子,多使用身邊的工具,君子役物嘛 ^0^

6、不要等到把一切都想明白了再動手重構,因為那和重新寫一次沒有什麼差別

從最容易想到的角度開始,一點一點的整你的**,然後測試它,接著繼續前進。你會發現**的混亂程度一點一點的減少,清晰的邏輯結構慢慢的浮現出來,然後你又會發現可以改進的地方。於是,漸漸的,乙份精緻的**就出現了。說實在的,軟體開發是一件工匠活,好的工藝品都是打磨出來的。

7、想到了馬上就動手,要是不想打斷你現在的思路,把它記下來。

要不,很可能,過幾天你就會把它忘記的。「前兩天我有過乙個好構思,是什麼來著?可惜我忘記了」。

重構之維 關於重構及《重構》的隨想

重構之維 關於重構及 重構 的隨想 重構 究竟重構了什麼?不止一次地,我聽到我們這個行業裡的大師們對重構技術提出 至少是 置疑 那是我們過去十五年裡一直在做的事 我從 上世紀 70年代就已經開始這樣做了 unix上的黑客們一直都是這樣做的 這些說辭讓我很有興趣探其究竟。在這本 重構 裡,martin...

存在的法則

color red 質疑人們已經接受的事物,努力拓展知識的疆界,得到從未有人獲取過的資訊,是對乙個人想象力的挑戰,你絕不會知道你將取的什麼成就,從平凡的到最出人意料的,都有可能。皮埃爾.迪昂 color 1.運動性 空間中能夠產生相互作用的被稱為存在,存在可分為兩類 一類是物質,一類是能量。空間中的...

mysql重構 MySQL重構查詢的方式

在優化有問題的查詢時,目標應該是找到乙個更優的方法獲得實際需要的結果 而不一定總要從mysql獲取一模一樣的結果集。有時候可以查詢轉換一種寫法讓其返回一樣的結果,但是效能更好。但也可以通過修改應用 用另一種方式完成查詢,最終達到一樣的目的。這裡我們將介紹如何通過這種方式來重構查詢,並展示合適需要使用...