Browse Source

add legacy code fighting flow

Fengda HUANG 9 years ago
parent
commit
27fd5039ed
4 changed files with 38 additions and 16 deletions
  1. 6 0
      chapters/7.0.0-legacy-system.md
  2. 6 5
      chapters/7.1.2-change-code.md
  3. 12 5
      growth.md
  4. 14 6
      index.html

+ 6 - 0
chapters/7.0.0-legacy-system.md

@@ -7,6 +7,12 @@
 
 但是实际上,当你看到某个网站宣称用新的框架来替换旧的框架的时候,你应该知晓他们原有的系统是遗留系统。人们已经不想在上面工作了,很多代码也不知道是干什么的,也没有人想去深究——毕竟不是自己的代码。判断是否是遗留代码的条件很简单,维护成本是否比开发成本高很多。
 
+ - 几乎无法维护
+ - 代码遗失
+ - 逻辑不清
+ - 没有文档或者不够详细、看不懂
+ - 关键点遗失
+
 在维护这一类系统的过程中,我们可能会遇到一些原因来修改代码。如《修改代码的艺术》的一书中所说,修改软件有四大原因:
 
  - 增加特性

+ 6 - 5
chapters/7.1.2-change-code.md

@@ -1,4 +1,4 @@
-如何修改代码
+如何修改遗留代码
 ---
 
 > 即使是最训练有素的开发团队,也不能保证始终编写出清晰高效的代码。
@@ -7,9 +7,10 @@
 
 So,如何开始修改代码?
 
-1. 测试
-2. 重构
-3. 修改测试
-4. 再次重构
+1. 代码修改点
+2. 找到测试点
+3. 打破依赖
+4. 编写测试
+5. 修改并重构
 
 在有测试的情况下重构现有的代码才是安全的。而这些测试用例也是功能的体现,功能首先要得到保证了,然后才能保证一切都可以正常。

+ 12 - 5
growth.md

@@ -4114,6 +4114,12 @@ UX入门
 
 但是实际上,当你看到某个网站宣称用新的框架来替换旧的框架的时候,你应该知晓他们原有的系统是遗留系统。人们已经不想在上面工作了,很多代码也不知道是干什么的,也没有人想去深究——毕竟不是自己的代码。判断是否是遗留代码的条件很简单,维护成本是否比开发成本高很多。
 
+ - 几乎无法维护
+ - 代码遗失
+ - 逻辑不清
+ - 没有文档或者不够详细、看不懂
+ - 关键点遗失
+
 在维护这一类系统的过程中,我们可能会遇到一些原因来修改代码。如《修改代码的艺术》的一书中所说,修改软件有四大原因:
 
  - 增加特性
@@ -4141,7 +4147,7 @@ UX入门
 
 ###遗留代码的问题
 
-如何修改代码
+如何修改遗留代码
 ---
 
 > 即使是最训练有素的开发团队,也不能保证始终编写出清晰高效的代码。
@@ -4150,10 +4156,11 @@ UX入门
 
 So,如何开始修改代码?
 
-1. 测试
-2. 重构
-3. 修改测试
-4. 再次重构
+1. 代码修改点
+2. 找到测试点
+3. 打破依赖
+4. 编写测试
+5. 修改并重构
 
 在有测试的情况下重构现有的代码才是安全的。而这些测试用例也是功能的体现,功能首先要得到保证了,然后才能保证一切都可以正常。
 

+ 14 - 6
index.html

@@ -310,7 +310,7 @@ code > span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Inf
 <li><a href="#遗留代码的来源">遗留代码的来源</a></li>
 <li><a href="#遗留代码的问题">遗留代码的问题</a></li>
 </ul></li>
-<li><a href="#如何修改代码">如何修改代码</a></li>
+<li><a href="#如何修改遗留代码">如何修改遗留代码</a></li>
 <li><a href="#网站重构">网站重构</a><ul>
 <li><a href="#速度优化">速度优化</a></li>
 <li><a href="#功能加强">功能加强</a></li>
@@ -3332,6 +3332,13 @@ System.<span class="fu">out</span>.<span class="fu">println</span>(<span class="
 <p>一种旧的方法、旧的技术、旧的计算机系统或应用程序。</p>
 </blockquote>
 <p>但是实际上,当你看到某个网站宣称用新的框架来替换旧的框架的时候,你应该知晓他们原有的系统是遗留系统。人们已经不想在上面工作了,很多代码也不知道是干什么的,也没有人想去深究——毕竟不是自己的代码。判断是否是遗留代码的条件很简单,维护成本是否比开发成本高很多。</p>
+<ul>
+<li>几乎无法维护</li>
+<li>代码遗失</li>
+<li>逻辑不清</li>
+<li>没有文档或者不够详细、看不懂</li>
+<li>关键点遗失</li>
+</ul>
 <p>在维护这一类系统的过程中,我们可能会遇到一些原因来修改代码。如《修改代码的艺术》的一书中所说,修改软件有四大原因:</p>
 <ul>
 <li>增加特性</li>
@@ -3348,17 +3355,18 @@ System.<span class="fu">out</span>.<span class="fu">println</span>(<span class="
 <p>什么是遗留代码?没有自动化测试的代码就是遗留代码,不管它是十年前写的,还是昨天写的。</p>
 <h3 id="遗留代码的来源">遗留代码的来源</h3>
 <h3 id="遗留代码的问题">遗留代码的问题</h3>
-<h2 id="如何修改代码">如何修改代码</h2>
+<h2 id="如何修改遗留代码">如何修改遗留代码</h2>
 <blockquote>
 <p>即使是最训练有素的开发团队,也不能保证始终编写出清晰高效的代码。</p>
 </blockquote>
 <p>然而,如果我们不去尝试做一些改变,这些代码就会遗留下去——成为遗留代码,再次重构掉。即使说,重构系统是不可避免的一个过程,但是在这个过程中要是能抽象中领域特定的代码、语言也是件不错的事。</p>
 <p>So,如何开始修改代码?</p>
 <ol type="1">
-<li>测试</li>
-<li>重构</li>
-<li>修改测试</li>
-<li>再次重构</li>
+<li>代码修改点</li>
+<li>找到测试点</li>
+<li>打破依赖</li>
+<li>编写测试</li>
+<li>修改并重构</li>
 </ol>
 <p>在有测试的情况下重构现有的代码才是安全的。而这些测试用例也是功能的体现,功能首先要得到保证了,然后才能保证一切都可以正常。</p>
 <h2 id="网站重构">网站重构</h2>