<?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>韩磊@当下 &#187; X-Files</title>
	<atom:link href="http://hanlei.name/category/16/feed" rel="self" type="application/rss+xml" />
	<link>http://hanlei.name</link>
	<description>那条漂流的社会栋梁</description>
	<lastBuildDate>Tue, 14 Jun 2011 09:35:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>代码猴子与童子军军规</title>
		<link>http://hanlei.name/2009/08/25/738</link>
		<comments>http://hanlei.name/2009/08/25/738#comments</comments>
		<pubDate>Tue, 25 Aug 2009 12:54:16 +0000</pubDate>
		<dc:creator>韩磊</dc:creator>
				<category><![CDATA[胡编]]></category>
		<category><![CDATA[X-Files]]></category>

		<guid isPermaLink="false">http://blog.hanlei.name/2009/08/25/738</guid>
		<description><![CDATA[2007年3月，我在SD West 2007技术大会上聆听了Robert C. Martin（Uncle Bob）题为Craftsmanship and the Problem of Productivity: Secrets for Going Fast without Making a Mess的主题演讲。一身休闲打扮的Uncle Bob，以一曲嘲笑低水平编码者的Code Monkey（代码猴子）开场。 是的，我们就是一群代码猴子，上蹿下跳，自以为领略了编程的真谛。可惜，当我们抓着几个酸桃子，得意洋洋坐到树枝上，却对自己造成的胡乱熟视无睹。那堆“可以运行”的乱麻程序，就在我们的眼皮底下慢慢腐坏。 从听到那场以TDD为主题的演讲之后，我就一直关注Uncle Bob，还有他在TDD和整洁代码方面的言论。去年，人民邮电出版社计算机分社拿一本书给我看，封面上赫然写着Robert C. Martin的大名。看完原书序和前言，我已经按捺不住，接下了翻译此书的任务。这本书名为Clean Code（《整洁代码》），乃是Object Mentor（Uncle Bob开办的技术咨询和培训公司）一干大牛在编程方面的经验累积。按Uncle Bob的话来说，就是“Object Mentor整洁代码派”的说明。 正如Coplien在序中所言，宏大建筑中最细小的部分，比如关不紧的门、有点儿没铺平的地板，甚至是凌乱的桌面，都会将整个大局的魅力毁灭殆尽。这就是整洁代码之所系。Coplien列举了许多谚语，证明整洁的价值，中国也有修身齐家治国平天下之语。整洁代码的重要性毋庸置疑，问题是如何写出真正整洁的代码。 本书既是整洁代码的定义，亦是如何写出整洁代码的指南。Uncle Bob认为，“写整洁代码，需要遵循大量的小技巧，贯彻刻苦习得的‘整洁感’。这种‘代码感’就是关键所在。……它不仅让我们看到代码的优劣，还予我们以借戒规之力化劣为优的攻略。”作者们阐述了在命名、函数、注释、代码格式、对象和数据结构、错误处理、边界问题、单元测试、类、系统、并发编程等方面如何做到整洁的经验与最佳实践。长期遵照这些经验编写代码，所谓“代码感”也就自然而然滋生出来。更有价值的部分是Uncle Bob本人对三个Java项目的剖析与改进过程的实操记录。通过这多达三章的重构记录，Uncle Bob充分地证明了童子军军规在编程领域同样适用：离开时要比发现时更整洁。 接触开发技术十多年以来，特别是从事IT技术媒体工作六年以来，我见过许多对于代码整洁性缺乏足够重视的开发者。不算过分地说，这是职业素养与基本功的双重缺陷。我翻译《C#编程风格》（已由人民邮电出版社出版）和《整洁代码》，实在也是希望在这方面看到开发者重视度和实际应用的提升。 在《整洁代码》结束语中，Uncle Bob提到别人给他的一条腕带，上面的字样是Test Obsessed（沉迷测试）。Uncle Bob“发现自己无法取下腕带。不仅是因为腕带很紧，而且那也是条精神上的紧箍咒。……它一直提醒我，我做了写出整洁代码的承诺。” 有了这条腕带，代码猴子成了模范童子军。我想，每位开发者都需要这样一条腕带吧？ &#160; （《整洁代码》中文版一书即将由人民邮电出版社推出。） Post to Delicious Digg This Post]]></description>
			<content:encoded><![CDATA[<p>2007年3月，我在SD West 2007技术大会上聆听了Robert C. Martin（Uncle Bob）题为Craftsmanship and the Problem of Productivity: Secrets for Going Fast without Making a Mess的主题演讲。一身休闲打扮的Uncle Bob，以一曲嘲笑低水平编码者的Code Monkey（代码猴子）开场。 </p>
<p>是的，我们就是一群代码猴子，上蹿下跳，自以为领略了编程的真谛。可惜，当我们抓着几个酸桃子，得意洋洋坐到树枝上，却对自己造成的胡乱熟视无睹。那堆“可以运行”的乱麻程序，就在我们的眼皮底下慢慢腐坏。 </p>
<p>从听到那场以TDD为主题的演讲之后，我就一直关注Uncle Bob，还有他在TDD和整洁代码方面的言论。去年，人民邮电出版社计算机分社拿一本书给我看，封面上赫然写着Robert C. Martin的大名。看完原书序和前言，我已经按捺不住，接下了翻译此书的任务。这本书名为Clean Code（《整洁代码》），乃是Object Mentor（Uncle Bob开办的技术咨询和培训公司）一干大牛在编程方面的经验累积。按Uncle Bob的话来说，就是“Object Mentor整洁代码派”的说明。 </p>
<p>正如Coplien在序中所言，宏大建筑中最细小的部分，比如关不紧的门、有点儿没铺平的地板，甚至是凌乱的桌面，都会将整个大局的魅力毁灭殆尽。这就是整洁代码之所系。Coplien列举了许多谚语，证明整洁的价值，中国也有修身齐家治国平天下之语。整洁代码的重要性毋庸置疑，问题是如何写出真正整洁的代码。 </p>
<p>本书既是整洁代码的定义，亦是如何写出整洁代码的指南。Uncle Bob认为，“写整洁代码，需要遵循大量的小技巧，贯彻刻苦习得的‘整洁感’。这种‘代码感’就是关键所在。……它不仅让我们看到代码的优劣，还予我们以借戒规之力化劣为优的攻略。”作者们阐述了在命名、函数、注释、代码格式、对象和数据结构、错误处理、边界问题、单元测试、类、系统、并发编程等方面如何做到整洁的经验与最佳实践。长期遵照这些经验编写代码，所谓“代码感”也就自然而然滋生出来。更有价值的部分是Uncle Bob本人对三个Java项目的剖析与改进过程的实操记录。通过这多达三章的重构记录，Uncle Bob充分地证明了童子军军规在编程领域同样适用：离开时要比发现时更整洁。 </p>
<p>接触开发技术十多年以来，特别是从事IT技术媒体工作六年以来，我见过许多对于代码整洁性缺乏足够重视的开发者。不算过分地说，这是职业素养与基本功的双重缺陷。我翻译《C#编程风格》（已由人民邮电出版社出版）和《整洁代码》，实在也是希望在这方面看到开发者重视度和实际应用的提升。 </p>
<p>在《整洁代码》结束语中，Uncle Bob提到别人给他的一条腕带，上面的字样是Test Obsessed（沉迷测试）。Uncle Bob“发现自己无法取下腕带。不仅是因为腕带很紧，而且那也是条精神上的紧箍咒。……它一直提醒我，我做了写出整洁代码的承诺。” 有了这条腕带，代码猴子成了模范童子军。我想，每位开发者都需要这样一条腕带吧？</p>
<p>&#160;</p>
<p>（《整洁代码》中文版一书即将由人民邮电出版社推出。）</p>
<div class="tweetthis" style="text-align:center;"><p> <a target="_blank" class="tt" href="http://twitter.com/home/?status=%E4%BB%A3%E7%A0%81%E7%8C%B4%E5%AD%90%E4%B8%8E%E7%AB%A5%E5%AD%90%E5%86%9B%E5%86%9B%E8%A7%84+http%3A%2F%2Ftinyurl.com%2Fyehbo2u" title="&egrave;&acute;&acute;&aring;&deg;Twitter"><img class="nothumb" src="http://hanlei.name/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter.png" alt="Post to Twitter" /></a> <a target="_blank" class="tt" href="http://delicious.com/post?url=http://hanlei.name/2009/08/25/738&amp;title=%E4%BB%A3%E7%A0%81%E7%8C%B4%E5%AD%90%E4%B8%8E%E7%AB%A5%E5%AD%90%E5%86%9B%E5%86%9B%E8%A7%84" title="Post to Delicious"><img class="nothumb" src="http://hanlei.name/wp-content/plugins/tweet-this/icons/en/delicious/tt-delicious.png" alt="Post to Delicious" /></a> <a target="_blank" class="tt" href="http://delicious.com/post?url=http://hanlei.name/2009/08/25/738&amp;title=%E4%BB%A3%E7%A0%81%E7%8C%B4%E5%AD%90%E4%B8%8E%E7%AB%A5%E5%AD%90%E5%86%9B%E5%86%9B%E8%A7%84" title="Post to Delicious">Post to Delicious</a> <a target="_blank" class="tt" href="http://digg.com/submit?url=http://hanlei.name/2009/08/25/738&amp;title=%E4%BB%A3%E7%A0%81%E7%8C%B4%E5%AD%90%E4%B8%8E%E7%AB%A5%E5%AD%90%E5%86%9B%E5%86%9B%E8%A7%84" title="Post to Digg"><img class="nothumb" src="http://hanlei.name/wp-content/plugins/tweet-this/icons/en/digg/tt-digg.png" alt="Post to Digg" /></a> <a target="_blank" class="tt" href="http://digg.com/submit?url=http://hanlei.name/2009/08/25/738&amp;title=%E4%BB%A3%E7%A0%81%E7%8C%B4%E5%AD%90%E4%B8%8E%E7%AB%A5%E5%AD%90%E5%86%9B%E5%86%9B%E8%A7%84" title="Post to Digg">Digg This Post</a></p></div>]]></content:encoded>
			<wfw:commentRss>http://hanlei.name/2009/08/25/738/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

