<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>南京电子商务解决方案,南京Android iOS应用开发,南京医疗影像软件产品,南京软件外包服务,B2C &#187; 经验心得</title>
	<atom:link href="https://www.brains-info.com/zh/tag/%e7%bb%8f%e9%aa%8c%e5%bf%83%e5%be%97/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.brains-info.com/zh</link>
	<description>江苏博瑞思信息技术有限公司</description>
	<lastBuildDate>Tue, 22 Sep 2020 08:58:42 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0.1</generator>
	<item>
		<title>你需要的不是重构，而是理清业务逻辑【转】</title>
		<link>https://www.brains-info.com/zh/biz_not_refactoring/</link>
		<comments>https://www.brains-info.com/zh/biz_not_refactoring/#comments</comments>
		<pubDate>Fri, 12 Apr 2013 05:26:48 +0000</pubDate>
		<dc:creator><![CDATA[wwwuser]]></dc:creator>
				<category><![CDATA[技术领域]]></category>
		<category><![CDATA[新闻中心]]></category>
		<category><![CDATA[行业新闻]]></category>
		<category><![CDATA[经验心得]]></category>

		<guid isPermaLink="false">http://www.brains-info.com/zh/?p=293</guid>
		<description><![CDATA[全文转载ITeye上一篇翻译过来的文章，讲的甚是有理，有时我们需要的不是重构，而 &#8230; <a href="https://www.brains-info.com/zh/biz_not_refactoring/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p style="text-indent: 2em;"><strong>全文转载ITeye上一篇翻译过来的文章，讲的甚是有理，有时我们需要的不是重构，而且理清业务逻辑，重构只是放弃偿还一个技术债务而欠下另一笔技术债务；</strong></p>
<p style="text-indent: 2em;">最近我遇到了一位以前公司的同事。他提到了数年前我在那个公司曾经开发过的项目。他说这个项目现在已经变成了“职业杀手”。基本上，任何接触过这个“职业杀手”项目的人最终都会离开这个公司。<strong>如果公司想让名下的程序员人数&gt;0，唯一的办法就是花数月时间完全重构这个系统。<span id="more-293"></span></strong></p>
<p style="text-indent: 2em;">对于这事我有两点要说。首先，在我离开这个公司前，这个系统的单元测试覆盖率已经达到了85%，所以，不要责备我。第二，这么大规模的重构？肯定会出问题。</p>
<p style="text-indent: 2em;"><strong>每一个系统里都至少有一个成为人民公敌、让所有人害怕的组件。它承载了太多的任务，它拥有太多状态，太多的其它组件调用它。当时间到了偿还技术债务的时候，人人都会把目光投向这个组件。</strong>然而，如果你对这个组件只有一个不全面的理解，你放下所有工作来完全重构它，那你成功的几率会很小。这个组件，就它表现出来的令人恐怖的程度和复杂相比，它的实际情况会比你想象更复杂，更恐怖。</p>
<p style="text-indent: 2em;">你认为这个组件是如何发展成这样一个不幸的状态的？是因为公司雇用了一个笨蛋，让他肆无忌惮的往系统里增加复杂度？或是因为这个组件最初设计的太 抽象，由于多年来需求的变更，它的责任范围不断的扩大？（出于个人的自尊，我宁愿相信这个“职业杀手”属于后者）。十有八九，这个组件变成如今这个恐怖的 状态，都有由“聪明人”的一些“好意”造成的。<strong>如果你决定做一次大的重构，你实际是欠下了另一笔技术债务留给后人。</strong></p>
<p style="text-indent: 2em;">为了能真正的彻底偿还这笔债务，你需要去分解这个系统的复杂度。你需要花时间寻找所有调用这个组件的客户端。你需要花时间跟你的同事交流，了解这 个组件的历史和它是如何被使用的。你需要简化这个组件的周边环境，看看它是如何运作的。每周，你都需要花更多的时间来更清楚的了解这个组件的业务。只要有 足够长的时间跨度，你最终能理清所有复杂的问题。</p>
<p style="text-indent: 2em;">从实际方法上说，这个问题应该怎么办？<strong>与其现在花3个整月的时间做一次完全的重构，不如先用一个季度的时间做清理工作。最后还是要重写，但有了3个月的计划准备，你有了时间去分析和设计，你有了时间来理清业务。</strong></p>
<p>英文原文：<a href="http://www.codypowell.com/taods/2013/03/its-not-refactoring-its-untangling.html" target="_blank">It&#8217;s Not Refactoring, It&#8217;s Untangling</a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.brains-info.com/zh/biz_not_refactoring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
