<?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>Fan&#039;s blog &#187; Agile and XP</title>
	<atom:link href="http://fkpwolf.net/category/agile-and-xp/feed/" rel="self" type="application/rss+xml" />
	<link>http://fkpwolf.net</link>
	<description>无为而无不为</description>
	<lastBuildDate>Sun, 13 May 2012 13:24:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>为什么TDD是知难行易</title>
		<link>http://fkpwolf.net/2009/10/19/%e4%b8%ba%e4%bb%80%e4%b9%88tdd%e6%98%af%e7%9f%a5%e9%9a%be%e8%a1%8c%e6%98%93/</link>
		<comments>http://fkpwolf.net/2009/10/19/%e4%b8%ba%e4%bb%80%e4%b9%88tdd%e6%98%af%e7%9f%a5%e9%9a%be%e8%a1%8c%e6%98%93/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 09:31:40 +0000</pubDate>
		<dc:creator>Fan Fan</dc:creator>
				<category><![CDATA[Agile and XP]]></category>

		<guid isPermaLink="false">http:///?p=447</guid>
		<description><![CDATA[“知难行易”的定义是：要做起来容易,要理解却很难。认清事物（本质）是很困难的，实践（或行动）就要比它容易一些。这里到不说他与“知易行难”有什么区别，因为我发现这两者关系比较绕，到最后说的好像都是一个意思：干成个事还真是难啊！大概的结论是“如果是行得不够好，那就肯定是知得不够深。而且，要知得够深，也一定是不能脱离行的。”（1） 抛开这个论题，换一个视角：为什么软件开发一般是“知难行易”合适呢？比如TDD。有篇文章叫做The Design is Dead，说的人对架构师的角色期望全无。设计没有用，因为设计时不可能考虑到方方面面，还不如把这个精力花在代码上，用代码来体现的设计，只要遵循软件的一般标准或者重构的标准即可：大概是提高内聚、降低耦合、消除重复、提高重用。 学习数学，我们要先“知”：背诵各种公理定律，各种解题思路；学习建筑，我们要先“知”：本科就要7年，要观摩各种历史建筑，了解各种建筑流派，才能打好百年大计的基业。 软件则没有这么多的条条框框，学习模仿的活动很少：我又不是写一个OS，没必要了解虚拟内存，这个别人都替我做好了。这体现出了软件集成性很好，level高的没必要了解level低的。建筑则不同，一砖一瓦都是自己搭起来的，数学也一样各个定律都是独立的，没有包含的意思。 所以TDD之所以提倡卷起袖子就干，不要设计，是因为这里是不需要“知”的，而仅有的几个准则（内聚，耦合）是不足以用来指导设计的。（当然OS是需要预先设计的。） 1：我的野蛮成长 http://zbw25.spaces.live.com/blog/cns!BD4EFBFAF436336C!2913.entry]]></description>
			<content:encoded><![CDATA[<p>“知难行易”的定义是：要做起来容易,要理解却很难。认清事物（本质）是很困难的，实践（或行动）就要比它容易一些。这里到不说他与“知易行难”有什么区别，因为我发现这两者关系比较绕，到最后说的好像都是一个意思：干成个事还真是难啊！大概的结论是“如果是行得不够好，那就肯定是知得不够深。而且，要知得够深，也一定是不能脱离行的。”（1）</p>
<p>抛开这个论题，换一个视角：为什么软件开发一般是“知难行易”合适呢？比如TDD。有篇文章叫做The Design is Dead，说的人对架构师的角色期望全无。设计没有用，因为设计时不可能考虑到方方面面，还不如把这个精力花在代码上，用代码来体现的设计，只要遵循软件的一般标准或者重构的标准即可：大概是提高内聚、降低耦合、消除重复、提高重用。</p>
<p>学习数学，我们要先“知”：背诵各种公理定律，各种解题思路；学习建筑，我们要先“知”：本科就要7年，要观摩各种历史建筑，了解各种建筑流派，才能打好百年大计的基业。</p>
<p>软件则没有这么多的条条框框，学习模仿的活动很少：我又不是写一个OS，没必要了解虚拟内存，这个别人都替我做好了。这体现出了软件集成性很好，level高的没必要了解level低的。建筑则不同，一砖一瓦都是自己搭起来的，数学也一样各个定律都是独立的，没有包含的意思。</p>
<p>所以TDD之所以提倡卷起袖子就干，不要设计，是因为这里是不需要“知”的，而仅有的几个准则（内聚，耦合）是不足以用来指导设计的。（当然OS是需要预先设计的。）</p>
<p>1：我的野蛮成长 http://zbw25.spaces.live.com/blog/cns!BD4EFBFAF436336C!2913.entry</p>
]]></content:encoded>
			<wfw:commentRss>http://fkpwolf.net/2009/10/19/%e4%b8%ba%e4%bb%80%e4%b9%88tdd%e6%98%af%e7%9f%a5%e9%9a%be%e8%a1%8c%e6%98%93/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XP中的人生哲学</title>
		<link>http://fkpwolf.net/2006/09/21/xp%e4%b8%ad%e7%9a%84%e4%ba%ba%e7%94%9f%e5%93%b2%e5%ad%a6/</link>
		<comments>http://fkpwolf.net/2006/09/21/xp%e4%b8%ad%e7%9a%84%e4%ba%ba%e7%94%9f%e5%93%b2%e5%ad%a6/#comments</comments>
		<pubDate>Thu, 21 Sep 2006 12:34:00 +0000</pubDate>
		<dc:creator>Fan Fan</dc:creator>
				<category><![CDATA[Agile and XP]]></category>

		<guid isPermaLink="false">http:///2006/09/21/xp%e4%b8%ad%e7%9a%84%e4%ba%ba%e7%94%9f%e5%93%b2%e5%ad%a6/</guid>
		<description><![CDATA[我过去对极限编程一直不是很热忱，抱有很多的偏见。首先就这个名称从字面上而言，极限？好像是噱头，或是旁门左道的东西。其实里面很多都是朴素的道理。比如：增量开发。“对于一个婴儿来说，他的力量就是成长的力量。”，“真正的光明决不是永没有黑暗的时间，只是永不被黑暗所掩蔽罢了。真正的英雄决不是永没有卑下的情操，只是永不被卑下的情操所屈服罢了。所以在你要战胜外来的敌人之前，先得战胜你内在的敌人；你不必害怕沉沦堕落，只消你能不断的自拔与更新。”比如：测试驱动。告诉我们的道理是做事前要先确定好目标，有的放矢。或者“没有反省的生活是没有意义的。”]]></description>
			<content:encoded><![CDATA[<p>我过去对极限编程一直不是很热忱，抱有很多的偏见。首先就这个名称从字面上而言，极限？好像是噱头，或是旁门左道的东西。<br />其实里面很多都是朴素的道理。<br />比如：增量开发。“对于一个婴儿来说，他的力量就是成长的力量。”，“真正的光明决不是永没有黑暗的时间，只是永不被黑暗所掩蔽罢了。真正的英雄决不是永没有卑下的情操，只是永不被卑下的情操所屈服罢了。所以在你要战胜外来的敌人之前，先得战胜你内在的敌人；你不必害怕沉沦堕落，只消你能不断的自拔与更新。”<br />比如：测试驱动。告诉我们的道理是做事前要先确定好目标，有的放矢。或者“没有反省的生活是没有意义的。”</p>
]]></content:encoded>
			<wfw:commentRss>http://fkpwolf.net/2006/09/21/xp%e4%b8%ad%e7%9a%84%e4%ba%ba%e7%94%9f%e5%93%b2%e5%ad%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

