<?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>Tony Bai &#187; 读书吧</title>
	<atom:link href="http://tonybai.com/category/reading-bar/feed/" rel="self" type="application/rss+xml" />
	<link>https://tonybai.com</link>
	<description>一个程序员的心路历程</description>
	<lastBuildDate>Sun, 12 Apr 2026 22:30:28 +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>https://tonybai.com/2021/09/15/getting-closer-to-zhou-enlai/</link>
		<comments>https://tonybai.com/2021/09/15/getting-closer-to-zhou-enlai/#comments</comments>
		<pubDate>Wed, 15 Sep 2021 14:02:49 +0000</pubDate>
		<dc:creator>bigwhite</dc:creator>
				<category><![CDATA[读书吧]]></category>
		<category><![CDATA[不忘初心]]></category>
		<category><![CDATA[中国共产党]]></category>
		<category><![CDATA[习大大]]></category>
		<category><![CDATA[信仰]]></category>
		<category><![CDATA[周总理]]></category>
		<category><![CDATA[周恩来]]></category>
		<category><![CDATA[国际歌]]></category>
		<category><![CDATA[实事求是]]></category>
		<category><![CDATA[微信读书]]></category>
		<category><![CDATA[毛泽东]]></category>
		<category><![CDATA[读书]]></category>
		<category><![CDATA[读书会]]></category>
		<category><![CDATA[走近周恩来]]></category>
		<category><![CDATA[邓小平]]></category>
		<category><![CDATA[革命斗争]]></category>

		<guid isPermaLink="false">https://tonybai.com/?p=3287</guid>
		<description><![CDATA[本文永久链接 &#8211; https://tonybai.com/2021/09/15/getting-closer-to-zhou-enlai 不写书评/读后感，那是没有遇到真正让你内心感动的书！ 实际上我并没有读这本书，而是在连续一周多的驾车途中通过“微信读书”将这本书听完的。 虽然是听书，并且听的还是AI机器人的播讲，但书中记录的那份真实且炽热的情感却无法隐匿在AI机器人那稍有些怪异的声线中。几乎每天都有书中的情节让我在途中泪目。 好了，不卖关子了。这本书就是权延赤的纪实文学作品《走近周恩来》(封面如下图)。 本书的主人公是我们敬爱的开国总理，建国后在总理这个岗位上为人民、为国家操劳26年的周恩来。 这本书的主要内容来自对1940年来跟随周恩来的警卫、副官、秘书等的采访，作者以“何树英”这个名字来指代这些在总理身边工作的人。正如本书作者所说，这是一本纪实文学，不是档案资料，有些地方是有文学加工的并有作者自己的观点掺杂于其中。但这完全不妨碍对总理光辉一生的真实展现。 作为普通老百姓，我无法站在历史的高度用那些高大上的词汇来概括周总理伟大的一生。这里就结合2018年习大大在“纪念周恩来同志诞辰120周年座谈会上的讲话”中对周总理的客观评价（作为子标题）以及书中内容，让我们重新认识一下周恩来。 “实事求是”的自我认知 周恩来在革命战争期间所做出的伟大贡献以及建国后26年的总理生涯均受益于周恩来实事求是地自我认知。 下面内容摘自书中： 在一次涉及人事分工的会议上，毛泽东望着周恩来：“恩来同志，你来怎么样？”周恩来摆手：“不行不行，主席，你是了解我的，我不是帅才。我理理家可以，做不了帅……”。 “我不是帅才”这是周恩来在多年工作实践之后对自己的自我认知。周恩来知道自己不能逞匹夫之勇地去争取最高权力，去拿中国革命的前途当赌注。从南昌起义到遵义会议，周恩来的持续的自我反省让他认识到毛泽东才是中国革命道路上那个唯一的领袖，于是在遵义会议上全力推荐毛泽东领导中国革命的“枪杆子”。用本书作者的话：“这一切都不能叫作伟大的谦让，而是伟大的自知之明和知人之明”。一个人“最大的勇敢莫过于看清事实且敢于实事求是”。 遵义会议后，明确了自我定位、明确了未来方向的周恩来甘愿做好中国革命的大管家，一心一意辅佐毛泽东，让毛泽东专注于思考中国革命的未来道路和实现战略，而他则将日常琐事包揽于身。 周恩来自我认知与知人之明的另外一个典型事例是对邓小平的评价： “从愿望上说，我更欣赏小平同志的‘举重若轻’，但说实在话，我这个人做不到这一点。我同伯承同志一样，在工作上常常是‘举轻若重’。这也许是同我长期负责具体的执行工作有关吧……”。 周对邓的欣赏也体现在其晚年力荐邓小平接班中央核心工作，为中共第二代领导核心的形成贡献了自己的一份力量。 现在看来，敢于“实事求是”的自我认知是周恩来伟大一生的基础与前提，也成就了中国共产党领导核心的优良传承。 不忘初心、坚守信仰的杰出楷模 周恩来从小立志“为中华之崛起而读书”，这颗种子深深扎根在周的心中。青年时期的周恩来更是坚定了“革命理想高于天”，这一信仰直接决定了周日后的思想路径和重大人生行为。 坚守信仰的周恩来在面临两次配偶选择时，都坚定的站在了“一切有利于革命斗争”原则的一边。 第一次是南开中学前身严氏学塾的校长严修十分器重周恩来的人品和才学，经过长期观察，慎重考虑，决定将自己的女儿嫁给周恩来，并亲自托人向周恩来提亲。但年轻的周恩来却很有礼貌地婉辞了这次提亲。周恩来当时的想法是：“我是个穷学生，刚入学时，学习和生活费用靠伯父支持，现在虽然靠成绩好，做了免费生，生活费用还要靠自己解决。以我这种情况，假如和严家结了亲，我的前途一定会受严家支配。所以我辞却了这门亲事”。周恩来的这次拒绝在常人看来很难理解，但是如果从周恩来始终秉持的“救国抱负和自尊自强”来看，这一切显得又十分正常。 第二次是在周恩来在法国勤工俭学期间，周恩来曾经有一位比较亲近的朋友，是个漂亮的姑娘。然而，好朋友未必适合做妻子。一旦作为婚姻来考虑，这位漂亮的姑娘就不行了。因为她仅仅是同情革命，而周恩来需要的是“能一辈子从事革命”，“能经受革命的艰难险阻和惊涛骇浪”的伴侣。于是周恩来对这第二位候选配偶做出了否定的决定。 后来的事情大家都知道了，周恩来在法国期间就物色好了那个“能一辈子从事革命”，“能经受革命的艰难险阻和惊涛骇浪”的伴侣，那就是邓颖超同志，他们通过书信来往确定了恋爱关系，并从此相伴革命的一生。 周恩来对信仰的那种坚守足以让人泪目。下面是书中的一段文字，各位读者自行体会： 医生替总理注射了杜冷丁。片刻，总理稍稍喘息平稳。他两眼淡漠地望着天花板，像是凝思。忽然，那眼里闪了一下亮，转向我们：“拿、拿《国际歌》，放、放一放……”我们忙找出《国际歌》的歌片，为他播放。当那磅礴的旋律盈满一室时，总理的嘴唇分明在翕动，在吟唱！这是总理生前最后一次听歌，最后一次唱歌。这支歌是《国际歌》。连放三遍，总理对守在身边的邓颖超说：“我坚信全世界共产主义一定能实现。团结起来到明天，英特纳雄耐尔就一定要实现。”他讲这个话的声音很细微，给我的震动却很大。他已近弥留阶段，最后唱这支歌，显示了真正不移的信仰。人生尽可信仰不同，能够为信仰奋斗终生，奉献一切，那么，就连他的敌人也会为他的人格肃然起敬。许多资产阶级政治家、理论家、学者，就是由于这个原因，在周恩来死后，也对他表示了极大的哀悼和敬意！ 对党忠诚、维护大局的杰出楷模 虽因远在欧洲没能参加中共一大，但周恩来是中国共产党最早的党员之一，参与发起成立中国共产党的活动。无论后来的革命时期自身身处之地有多危险，革命之路有多么坎坷，周恩来从没有失去信念与对党的忠诚。 周恩来始终从党内大局出发考虑问题，即便是自身遭到严厉批评，工作遭遇严重挫折，心里十分难过的情况下，他首先考虑到的依旧是党内大局的团结。下面是书中提到的一个典型的例子： 由于周恩来和陈云指示报纸社论提出“反冒进”，激怒了毛泽东。他认为“反冒进”就是右倾保守，就是给社会主义建设的热情泼冷水，就是不要发展生产的高速度，因此在会上会下多次严厉批评“反冒进”，不许再这样提，再这样提就是右倾。于是，周恩来也会上会下地多次作检查。那天，周恩来把他的理论秘书范若愚找去了，请他帮助写检查。范若愚从周恩来那里回来后，脸色很沉重。过了几天，我们才知道，周恩来对他谈了毛泽东批评“反冒进”的事。总理心里很难过，有几次谈到伤心处，眼里都含了泪。周恩来躲不开，他是总理，而且必须配合毛泽东搞工作，为大局为团结，他只能作检讨。党内公认总理的组织观念最强，从不犯自由主义。我们这些身边的工作人员还没听到过他背后议论哪位同志的缺点，总是讲这个人有什么什么长处，那个人如何如何好，有什么什么贡献。对于缺点错误，他坚持当面提或公开讲。这次为了“反冒进”而挨批评的事，他也一样不议论不提别人有什么“错误”，只谈自己的“错误”，谈自己的担心和苦恼，找认识上的差距，设法跟上毛主席的想法。 热爱人民、勤政为民的杰出楷模 周恩来从立志走上革命道路为共产主义奋斗一生那一天起，他就知道了自己的一生一定不仅是属于自己的，更是属于国家、属于民族和人民的。在这本书中，总理“勤政为民”的事例比比皆是。如果说周恩来是有史以来第二繁忙的中国共产党人，估计没人敢说自己是第一。就连国内国外许多有名有影响的人都著文说：“无疑，周恩来是这个世界上工作最忙、工作最多的一个人。” 下面是书中反映总理工作繁忙程度的一些段落摘录： “正常情况下，总理的睡眠时间也往往只有三四个小时。在那长达十几小时的连续劳作中，给我们留下的印象不但有精力超人，更有坚持和苦撑的感人毅力” 我跟随总理几十年，听惯了他的一句口头禅：“你们不要怕我忙嘛，我不怕忙你们怕什么？我能忙过来。” 我曾目睹周恩来连续工作一星期，只休息了13个小时。这是当时的总理卫士长成元功同志一分一秒计算出来的，从总理上床计时，到起床止，不论是否睡着，累计躺下休息13个小时。就这样的劳作，总理仍是笑着说：“不要紧，我能忙过来。”他出访亚非十四国时，我们一分一秒算计，他平均每天睡眠只有两个小时，却仍然精神抖擞地说：“我可以，我不怕忙。” 他工作太投入，处于一种忘我的境界，所以疲劳开始袭来时，他并不自觉，完全是出于生理上的自卫本能，打个哈欠或抬起头做一下深呼吸。疲劳在悄悄加重，终于影响到办公效率，并且迫使他不得不一次又一次抬起头来深呼吸。这时，他意识到累，第一个反应就是大口大口喝浓茶，以刺激渐渐麻木的神经重新兴奋起来。这样坚持一段后，似乎茶碱已失去效力，总理会烦躁地突然站起身，围绕办公桌快速地走几圈，并配合着揉揉眼窝和太阳穴，然后坐下继续办公。他终于感到这样也不解决问题了，便拿起办公桌上放的那件“宝”，打开铁盒，用手指擦点清凉油，抹在额头和太阳穴上。这时，仿佛冥冥中有什么心灵感应，邓大姐会出现在总理办公室的门口，悄悄地在门外转圈，忧虑而心疼地朝里面伏案劳作的总理投去一瞥又一瞥。她轻易不进总理办公室，不去干预总理的公事，这是结婚时就有的协议。总理的办公室有三把钥匙：一把在警卫手中，警卫交接班时，钥匙属于交接内容之一；另一把在秘书手中，一般是放在机要秘书那里；总理自己有一把，睡觉时放枕下，起床时揣兜里，从来不离身。邓大姐没有钥匙，总理不在，她就进不了办公室；总理在，她也极少走进去，在门口转了一阵，终于向着门里轻轻唤一声：“恩来呀，该休息一会儿了。”总理掀起眼皮，目光从镜框上方望一眼邓颖超，点点头，却马上又伏进了文件堆，继续他的批阅修改。这样又坚持一段时间后，疲劳便达到了难以克服的地步，眼皮会不知不觉地耷拉下来，手中的笔在总理瞬间的迷糊瞌睡中，在文件上留下一些点或道的墨迹。出现几次这样瞬间的迷糊瞌睡，总理会痛苦地拍拍额头，搓搓脸，猛地丢下笔，朝后仰身靠在椅背上，大声吩咐：“给我一条热毛巾！”一边用热毛巾拼命地擦脸，揉眼窝，一边继续批阅文件。总理是在尽力聚集全身仅存的一点热能，投入劳作中去。这样坚持一会儿，又会大声吩咐：“谁有烟？给我一支烟吸。” 1973年6月上旬的一天(这时周恩来已经被查出膀胱癌，处于治疗期间)，周恩来已是三十多个小时没合眼。究竟处理了多少文件，接待了多少人，恐怕秘书也算不清楚。夜里一点多，似乎他老人家该歇口气了，秘书却看着手表提醒：“总理，还有14分钟。”“唔，你们做准备，我刮个胡子。”我看到周恩来往起站时，已经十分吃力，用双臂撑着才站起来；他的手抖颤不止，身体晃了晃才站稳，然后竭力用平时惯有的那种快步朝卫生间走去。&#8230;.. 总理“失踪”了！正有些慌乱，忽然有人说：“哎呀，总理不是说要刮胡子吗？”总理要是用电动剃须刀，不会耽误这么久，因为他常是拿着刀上车，在车上顺便就刮了胡子。想到总理的胡子又多又硬，稍长点电动剃须刀就刮不动了，我就忙朝卫生间找。他也许见电动剃须刀刮不动又用了安全刀片呢……我在前面走，后面跟了几个人。进门的一刹那，所有人都怔住了：不会说，不会动，甚至停止了呼吸。唉，我们的总理哟！他垂落的左手下，有一条面巾；他微屈的右臂，手里仍虚握着沾有肥皂沫和胡子茬的刮脸刀，他就歪在镜子前边睡着了！他英俊的面孔曾使所有的中国人为之骄傲，现在却变得那么瘦削灰黄；他的眉毛依然威武，双唇仍然露出善良和慈爱，可是他的眼窝却是深深地、深深地沉陷了下去……。 一些很有研究的医生对我讲，像总理那样的劳心劳力，鞠躬尽瘁，换其他任何人也不会活得比诸葛亮长。“总理是累死的。如果做一项试验，选10万人在总理那样的重负下经受总理那样的劳作，不出一年会倒下1万，不出5年会倒下3万……” 周恩来是不折不扣地勤政为民的伟大践行者! 严于律己、清正廉洁的杰出楷模 周恩来非常注重个人形象，在影视图片资料中我们看到的总理总是那么衣冠楚楚，风度翩翩。但只有总理身边人才知晓，这种外在的光鲜的背后是总理的勤俭廉洁，清正律己。 那时，北京裁缝手艺最好的大约就是红都了。五六十年代，只有外国使馆和中国高级官员才能在那里做衣服，用现在话讲，是中央首长做衣的“指定厂家”。我陪总理来到红都，有关服务人员迎来，见到总理的激动喜悦自不必说，他们都知道总理的衣装关系中国人的形象，将各种高级衣料向总理介绍：“为满足出国人员需要，我们进口了一些英国呢料和澳大利亚毛料，各型各色比较齐全……”总理摇摇头：“不要进口的，要国产的。”服务员马上理解，向总理详细介绍国产衣料。总理向我们交代：“今后我做衣，无论毛料布料，必须用国产的。” 总理穿衣还有个大讲究，是只有我们这些身边人才知道的，外界难以知晓。就是讲究保密，有时甚至是“严格保密”。从莫斯科到阿尔及尔，从日内瓦到雅加达，许多国家的服务员都知道周恩来总理有个皮箱子，警卫人员看守很严，里边不知藏有多少重大机密或钱财。特别是到第三世界国家，一旦决定给他们援助，有的服务员就指指那箱子，悄悄问我们的同志：“你们援助我们的钱都锁在那个箱子里面吧？”每逢这时，我们只能笑着摇摇头，但马上又感慨万千地点点头，心里别有一番酸涩的滋味。实在说，给他们的每一项援助，都与这个皮箱有着最直接的关系。这其实是总理的行李箱，里边装有他的生活用品。有件睡衣，进城时就穿着，早磨光了绒毛。由于总理睡前有办公习惯，背部着床多，所以那里首先磨薄磨破。先破小洞，我们就动手补，渐渐磨成大洞，补不胜补，就将整个后背换掉。破了再补，补丁摞补丁，一直穿到总理去世他也舍不得买新的。有三双袜子，没一双不带补丁，特别是脚掌部分，几乎每星期都要由我们拿去补一次两次。卫士成习惯了，总理一上床，就检查他的袜子，发现新洞，马上拿走去补，第二天早晨再提着袜子进来交给总理穿。这种情况直到有了尼龙袜子后才稍好些。尼龙袜子结实，不那么容易破。总理的毛巾更不好见人。擦脸巾磨得没了绒毛，渐渐像块纱布，渐渐磨出洞，洞越来越大时，总理就将毛巾从中间剪开，将两边换到中间对缝起来继续用。因为毛巾都是中间使用多，先被磨破，而两边很少磨损。总理的擦脚巾更不好说，是用废纱布缝起来当脚巾，几十年就是这样用着纱布。总理用的牙杯上，印有“保家卫国”字样，这个牙杯用到去世。无须多说，“保家卫国”四个字，就说明了这个杯子的年头和质量。 总理的内衣内裤，件件补丁摞补丁。因为怕国外有传染病，我们要保证总理的安全，所以他的内衣内裤不能拿到街上去洗。何况总理的内衣裤补丁那么多，拿出去影响未必好。万一是用洗衣机，这样的衣服肯定会被搅破。在家我们可以帮总理洗衣，在国宾馆显然没办法，没法拿出去晾晒，万一被照张相，还不知会引出什么故事来。所以，出国就只能交大使馆，请使馆里的女同志帮忙洗。每逢这时，都是大使夫人亲自动手为总理洗，许多大使夫人都是边洗边哭。记得总理在马里访问时，大使赖亚力的夫人看到总理穿的衣服，有的补丁摞补丁，有的布都糟了，稍一用力就破个洞；所有这些衬衣，只有领口袖口是换了新的，露在外面一圈不会被人发现里面的内衣破旧成什么样。她一边洗一边流眼泪，轻轻喃出几声“总理……”，就是说不出一句完整话。 作为我们一个六七亿人口的泱泱大国的总理，穿这样破旧的衣服，叫外国服务员看到了会怎么议论？他们不了解我们的国情，和我们的价值观、道德观也不同，难免不理解，所以还是向他们严格保密为好。所以，每天早晨总理一起床，首先由我们的卫士进去，该收的收，该藏的藏，行李箱锁严实了，才放服务员进。到了晚上，总理再休息时，才开锁取出卧具、牙具和衣物。服务员见不到开箱子，自然以为里面都是贵重之物。但是，以总理为代表，中国人民正是这样节俭奋斗，才尽自己所能省出了钱物支援那些第三世界的国家和人民。 周总理的清正廉洁做的有时候让身边人感觉有些“过分”，他的回答则是： “我这样做是不是有点过分？”他像是问我们，又像问自己，带着沉思的表情停顿片刻才又说：“我看不过分。前提是我们国家还一穷二白。这里有两种考虑。六七亿人口的中国，不就是我一个总理吗？再穷也不缺我几身新衣服，何况对外还有个影响问题。这话不是没道理。但我们不能少了另一个考虑：身为六七亿人口大国的总理，我怎样做不是我一个人的事，这表明我提倡什么。六七亿人口是应该提倡节俭，还是现在就不顾国情去追求享受？我更多考虑的是后者。” 总理公私分明，在解放后，一直坚持私人用车要自费。工资发下后，钱归我管，工资表他一定要过目，就是检查是否扣除了用车费和外出用餐费等。他把看戏、跳舞、到公园散步、到饭店理发算作私事，把去医院看病人、到民主人士家拜访及看望外国朋友这类亦公亦私的事也都算作私事用车，都坚持自费。他乘车的记账，先由我记，后来嫌我记的账有疏漏，转交钟步云记。老钟遇空难后，就直接交由司机杨金明本人记账了。总理说：“你开车你记账，这样不会出现疏漏。” 小结 能做到“鞠躬尽瘁，死而后已”的中共高级干部中，周恩来一定是做的最好的那个。 能做到“毫无私心，一心为公”的中共高级干部中，周恩来一定是做的最好的那个。 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://tonybai.com/2021/09/15/getting-closer-to-zhou-enlai">本文永久链接</a> &#8211; https://tonybai.com/2021/09/15/getting-closer-to-zhou-enlai</p>
<p><strong>不写书评/读后感，那是没有遇到真正让你内心感动的书</strong>！</p>
<p>实际上我并没有读这本书，而是在连续一周多的驾车途中通过“微信读书”将这本书听完的。</p>
<p>虽然是听书，并且听的还是AI机器人的播讲，但书中记录的那份真实且炽热的情感却无法隐匿在AI机器人那稍有些怪异的声线中。几乎每天都有书中的情节让我在途中泪目。</p>
<p>好了，不卖关子了。这本书就是权延赤的纪实文学作品<a href="https://book.douban.com/subject/26670864/">《走近周恩来》</a>(封面如下图)。</p>
<p><img src="https://tonybai.com/wp-content/uploads/getting-closer-to-zhou-enlai-1.jpg" alt="" /></p>
<p>本书的主人公是我们敬爱的开国总理，建国后在总理这个岗位上为人民、为国家操劳26年的周恩来。</p>
<p>这本书的主要内容来自对1940年来跟随周恩来的警卫、副官、秘书等的采访，作者以“何树英”这个名字来指代这些在总理身边工作的人。正如本书作者所说，这是一本纪实文学，不是档案资料，有些地方是有文学加工的并有作者自己的观点掺杂于其中。但这完全不妨碍对总理光辉一生的真实展现。</p>
<p>作为普通老百姓，我无法站在历史的高度用那些高大上的词汇来概括周总理伟大的一生。这里就结合2018年习大大在“纪念周恩来同志诞辰120周年座谈会上的讲话”中对周总理的客观评价（作为子标题）以及书中内容，让我们重新认识一下周恩来。</p>
<h3>“实事求是”的自我认知</h3>
<p>周恩来在革命战争期间所做出的伟大贡献以及建国后26年的总理生涯均受益于周恩来实事求是地自我认知。</p>
<p>下面内容摘自书中：</p>
<blockquote>
<p>在一次涉及人事分工的会议上，毛泽东望着周恩来：“恩来同志，你来怎么样？”周恩来摆手：“不行不行，主席，你是了解我的，我不是帅才。我理理家可以，做不了帅……”。</p>
</blockquote>
<p>“我不是帅才”这是周恩来在多年工作实践之后对自己的自我认知。周恩来知道自己不能逞匹夫之勇地去争取最高权力，去拿中国革命的前途当赌注。从南昌起义到遵义会议，周恩来的持续的自我反省让他认识到毛泽东才是中国革命道路上那个唯一的领袖，于是在遵义会议上全力推荐毛泽东领导中国革命的“枪杆子”。用本书作者的话：“这一切都不能叫作伟大的谦让，而是伟大的自知之明和知人之明”。一个人“最大的勇敢莫过于看清事实且敢于实事求是”。</p>
<p>遵义会议后，明确了自我定位、明确了未来方向的周恩来甘愿做好中国革命的大管家，一心一意辅佐毛泽东，让毛泽东专注于思考中国革命的未来道路和实现战略，而他则将日常琐事包揽于身。</p>
<p>周恩来自我认知与知人之明的另外一个典型事例是对邓小平的评价：</p>
<p>“从愿望上说，我更欣赏小平同志的‘举重若轻’，但说实在话，我这个人做不到这一点。我同伯承同志一样，在工作上常常是‘举轻若重’。这也许是同我长期负责具体的执行工作有关吧……”。</p>
<p>周对邓的欣赏也体现在其晚年力荐邓小平接班中央核心工作，为中共第二代领导核心的形成贡献了自己的一份力量。</p>
<p>现在看来，敢于“实事求是”的自我认知是周恩来伟大一生的基础与前提，也成就了中国共产党领导核心的优良传承。</p>
<h3>不忘初心、坚守信仰的杰出楷模</h3>
<p>周恩来从小立志“为中华之崛起而读书”，这颗种子深深扎根在周的心中。青年时期的周恩来更是坚定了“革命理想高于天”，这一信仰直接决定了周日后的思想路径和重大人生行为。</p>
<p>坚守信仰的周恩来在面临两次配偶选择时，都坚定的站在了“一切有利于革命斗争”原则的一边。</p>
<p>第一次是南开中学前身严氏学塾的校长严修十分器重周恩来的人品和才学，经过长期观察，慎重考虑，决定将自己的女儿嫁给周恩来，并亲自托人向周恩来提亲。但年轻的周恩来却很有礼貌地婉辞了这次提亲。周恩来当时的想法是：“我是个穷学生，刚入学时，学习和生活费用靠伯父支持，现在虽然靠成绩好，做了免费生，生活费用还要靠自己解决。以我这种情况，假如和严家结了亲，我的前途一定会受严家支配。所以我辞却了这门亲事”。周恩来的这次拒绝在常人看来很难理解，但是如果从周恩来始终秉持的“救国抱负和自尊自强”来看，这一切显得又十分正常。</p>
<p>第二次是在周恩来在法国勤工俭学期间，周恩来曾经有一位比较亲近的朋友，是个漂亮的姑娘。然而，好朋友未必适合做妻子。一旦作为婚姻来考虑，这位漂亮的姑娘就不行了。因为她仅仅是同情革命，而周恩来需要的是“能一辈子从事革命”，“能经受革命的艰难险阻和惊涛骇浪”的伴侣。于是周恩来对这第二位候选配偶做出了否定的决定。</p>
<p>后来的事情大家都知道了，周恩来在法国期间就物色好了那个“能一辈子从事革命”，“能经受革命的艰难险阻和惊涛骇浪”的伴侣，那就是邓颖超同志，他们通过书信来往确定了恋爱关系，并从此相伴革命的一生。</p>
<p>周恩来对信仰的那种坚守足以让人泪目。下面是书中的一段文字，各位读者自行体会：</p>
<blockquote>
<p>医生替总理注射了杜冷丁。片刻，总理稍稍喘息平稳。他两眼淡漠地望着天花板，像是凝思。忽然，那眼里闪了一下亮，转向我们：“拿、拿《国际歌》，放、放一放……”我们忙找出《国际歌》的歌片，为他播放。当那磅礴的旋律盈满一室时，总理的嘴唇分明在翕动，在吟唱！这是总理生前最后一次听歌，最后一次唱歌。这支歌是《国际歌》。连放三遍，总理对守在身边的邓颖超说：“我坚信全世界共产主义一定能实现。团结起来到明天，英特纳雄耐尔就一定要实现。”他讲这个话的声音很细微，给我的震动却很大。他已近弥留阶段，最后唱这支歌，显示了真正不移的信仰。人生尽可信仰不同，能够为信仰奋斗终生，奉献一切，那么，就连他的敌人也会为他的人格肃然起敬。许多资产阶级政治家、理论家、学者，就是由于这个原因，在周恩来死后，也对他表示了极大的哀悼和敬意！</p>
</blockquote>
<h3>对党忠诚、维护大局的杰出楷模</h3>
<p>虽因远在欧洲没能参加中共一大，但周恩来是中国共产党最早的党员之一，参与发起成立中国共产党的活动。无论后来的革命时期自身身处之地有多危险，革命之路有多么坎坷，周恩来从没有失去信念与对党的忠诚。</p>
<p>周恩来始终从党内大局出发考虑问题，即便是自身遭到严厉批评，工作遭遇严重挫折，心里十分难过的情况下，他首先考虑到的依旧是党内大局的团结。下面是书中提到的一个典型的例子：</p>
<blockquote>
<p>由于周恩来和陈云指示报纸社论提出“反冒进”，激怒了毛泽东。他认为“反冒进”就是右倾保守，就是给社会主义建设的热情泼冷水，就是不要发展生产的高速度，因此在会上会下多次严厉批评“反冒进”，不许再这样提，再这样提就是右倾。于是，周恩来也会上会下地多次作检查。那天，周恩来把他的理论秘书范若愚找去了，请他帮助写检查。范若愚从周恩来那里回来后，脸色很沉重。过了几天，我们才知道，周恩来对他谈了毛泽东批评“反冒进”的事。总理心里很难过，有几次谈到伤心处，眼里都含了泪。周恩来躲不开，他是总理，而且必须配合毛泽东搞工作，为大局为团结，他只能作检讨。党内公认总理的组织观念最强，从不犯自由主义。我们这些身边的工作人员还没听到过他背后议论哪位同志的缺点，总是讲这个人有什么什么长处，那个人如何如何好，有什么什么贡献。对于缺点错误，他坚持当面提或公开讲。这次为了“反冒进”而挨批评的事，他也一样不议论不提别人有什么“错误”，只谈自己的“错误”，谈自己的担心和苦恼，找认识上的差距，设法跟上毛主席的想法。</p>
</blockquote>
<h3>热爱人民、勤政为民的杰出楷模</h3>
<p>周恩来从立志走上革命道路为共产主义奋斗一生那一天起，他就知道了自己的一生一定不仅是属于自己的，更是属于国家、属于民族和人民的。在这本书中，总理“勤政为民”的事例比比皆是。如果说周恩来是有史以来第二繁忙的中国共产党人，估计没人敢说自己是第一。就连国内国外许多有名有影响的人都著文说：“无疑，周恩来是这个世界上工作最忙、工作最多的一个人。”</p>
<p>下面是书中反映总理工作繁忙程度的一些段落摘录：</p>
<blockquote>
<p>“正常情况下，总理的睡眠时间也往往只有三四个小时。在那长达十几小时的连续劳作中，给我们留下的印象不但有精力超人，更有坚持和苦撑的感人毅力”</p>
<p>我跟随总理几十年，听惯了他的一句口头禅：“你们不要怕我忙嘛，我不怕忙你们怕什么？我能忙过来。”</p>
<p>我曾目睹周恩来连续工作一星期，只休息了13个小时。这是当时的总理卫士长成元功同志一分一秒计算出来的，从总理上床计时，到起床止，不论是否睡着，累计躺下休息13个小时。就这样的劳作，总理仍是笑着说：“不要紧，我能忙过来。”他出访亚非十四国时，我们一分一秒算计，他平均每天睡眠只有两个小时，却仍然精神抖擞地说：“我可以，我不怕忙。”</p>
<p>他工作太投入，处于一种忘我的境界，所以疲劳开始袭来时，他并不自觉，完全是出于生理上的自卫本能，打个哈欠或抬起头做一下深呼吸。疲劳在悄悄加重，终于影响到办公效率，并且迫使他不得不一次又一次抬起头来深呼吸。这时，他意识到累，第一个反应就是大口大口喝浓茶，以刺激渐渐麻木的神经重新兴奋起来。这样坚持一段后，似乎茶碱已失去效力，总理会烦躁地突然站起身，围绕办公桌快速地走几圈，并配合着揉揉眼窝和太阳穴，然后坐下继续办公。他终于感到这样也不解决问题了，便拿起办公桌上放的那件“宝”，打开铁盒，用手指擦点清凉油，抹在额头和太阳穴上。这时，仿佛冥冥中有什么心灵感应，邓大姐会出现在总理办公室的门口，悄悄地在门外转圈，忧虑而心疼地朝里面伏案劳作的总理投去一瞥又一瞥。她轻易不进总理办公室，不去干预总理的公事，这是结婚时就有的协议。总理的办公室有三把钥匙：一把在警卫手中，警卫交接班时，钥匙属于交接内容之一；另一把在秘书手中，一般是放在机要秘书那里；总理自己有一把，睡觉时放枕下，起床时揣兜里，从来不离身。邓大姐没有钥匙，总理不在，她就进不了办公室；总理在，她也极少走进去，在门口转了一阵，终于向着门里轻轻唤一声：“恩来呀，该休息一会儿了。”总理掀起眼皮，目光从镜框上方望一眼邓颖超，点点头，却马上又伏进了文件堆，继续他的批阅修改。这样又坚持一段时间后，疲劳便达到了难以克服的地步，眼皮会不知不觉地耷拉下来，手中的笔在总理瞬间的迷糊瞌睡中，在文件上留下一些点或道的墨迹。出现几次这样瞬间的迷糊瞌睡，总理会痛苦地拍拍额头，搓搓脸，猛地丢下笔，朝后仰身靠在椅背上，大声吩咐：“给我一条热毛巾！”一边用热毛巾拼命地擦脸，揉眼窝，一边继续批阅文件。总理是在尽力聚集全身仅存的一点热能，投入劳作中去。这样坚持一会儿，又会大声吩咐：“谁有烟？给我一支烟吸。”</p>
<p>1973年6月上旬的一天(这时周恩来已经被查出膀胱癌，处于治疗期间)，周恩来已是三十多个小时没合眼。究竟处理了多少文件，接待了多少人，恐怕秘书也算不清楚。夜里一点多，似乎他老人家该歇口气了，秘书却看着手表提醒：“总理，还有14分钟。”“唔，你们做准备，我刮个胡子。”我看到周恩来往起站时，已经十分吃力，用双臂撑着才站起来；他的手抖颤不止，身体晃了晃才站稳，然后竭力用平时惯有的那种快步朝卫生间走去。&#8230;.. 总理“失踪”了！正有些慌乱，忽然有人说：“哎呀，总理不是说要刮胡子吗？”总理要是用电动剃须刀，不会耽误这么久，因为他常是拿着刀上车，在车上顺便就刮了胡子。想到总理的胡子又多又硬，稍长点电动剃须刀就刮不动了，我就忙朝卫生间找。他也许见电动剃须刀刮不动又用了安全刀片呢……我在前面走，后面跟了几个人。进门的一刹那，所有人都怔住了：不会说，不会动，甚至停止了呼吸。唉，我们的总理哟！他垂落的左手下，有一条面巾；他微屈的右臂，手里仍虚握着沾有肥皂沫和胡子茬的刮脸刀，他就歪在镜子前边睡着了！他英俊的面孔曾使所有的中国人为之骄傲，现在却变得那么瘦削灰黄；他的眉毛依然威武，双唇仍然露出善良和慈爱，可是他的眼窝却是深深地、深深地沉陷了下去……。</p>
<p>一些很有研究的医生对我讲，像总理那样的劳心劳力，鞠躬尽瘁，换其他任何人也不会活得比诸葛亮长。“总理是累死的。如果做一项试验，选10万人在总理那样的重负下经受总理那样的劳作，不出一年会倒下1万，不出5年会倒下3万……”</p>
</blockquote>
<p>周恩来是不折不扣地勤政为民的伟大践行者!</p>
<h3>严于律己、清正廉洁的杰出楷模</h3>
<p>周恩来非常注重个人形象，在影视图片资料中我们看到的总理总是那么衣冠楚楚，风度翩翩。但只有总理身边人才知晓，这种外在的光鲜的背后是总理的勤俭廉洁，清正律己。</p>
<blockquote>
<p>那时，北京裁缝手艺最好的大约就是红都了。五六十年代，只有外国使馆和中国高级官员才能在那里做衣服，用现在话讲，是中央首长做衣的“指定厂家”。我陪总理来到红都，有关服务人员迎来，见到总理的激动喜悦自不必说，他们都知道总理的衣装关系中国人的形象，将各种高级衣料向总理介绍：“为满足出国人员需要，我们进口了一些英国呢料和澳大利亚毛料，各型各色比较齐全……”总理摇摇头：“不要进口的，要国产的。”服务员马上理解，向总理详细介绍国产衣料。总理向我们交代：“今后我做衣，无论毛料布料，必须用国产的。”</p>
<p>总理穿衣还有个大讲究，是只有我们这些身边人才知道的，外界难以知晓。就是讲究保密，有时甚至是“严格保密”。从莫斯科到阿尔及尔，从日内瓦到雅加达，许多国家的服务员都知道周恩来总理有个皮箱子，警卫人员看守很严，里边不知藏有多少重大机密或钱财。特别是到第三世界国家，一旦决定给他们援助，有的服务员就指指那箱子，悄悄问我们的同志：“你们援助我们的钱都锁在那个箱子里面吧？”每逢这时，我们只能笑着摇摇头，但马上又感慨万千地点点头，心里别有一番酸涩的滋味。实在说，给他们的每一项援助，都与这个皮箱有着最直接的关系。这其实是总理的行李箱，里边装有他的生活用品。有件睡衣，进城时就穿着，早磨光了绒毛。由于总理睡前有办公习惯，背部着床多，所以那里首先磨薄磨破。先破小洞，我们就动手补，渐渐磨成大洞，补不胜补，就将整个后背换掉。破了再补，补丁摞补丁，一直穿到总理去世他也舍不得买新的。有三双袜子，没一双不带补丁，特别是脚掌部分，几乎每星期都要由我们拿去补一次两次。卫士成习惯了，总理一上床，就检查他的袜子，发现新洞，马上拿走去补，第二天早晨再提着袜子进来交给总理穿。这种情况直到有了尼龙袜子后才稍好些。尼龙袜子结实，不那么容易破。总理的毛巾更不好见人。擦脸巾磨得没了绒毛，渐渐像块纱布，渐渐磨出洞，洞越来越大时，总理就将毛巾从中间剪开，将两边换到中间对缝起来继续用。因为毛巾都是中间使用多，先被磨破，而两边很少磨损。总理的擦脚巾更不好说，是用废纱布缝起来当脚巾，几十年就是这样用着纱布。总理用的牙杯上，印有“保家卫国”字样，这个牙杯用到去世。无须多说，“保家卫国”四个字，就说明了这个杯子的年头和质量。</p>
<p>总理的内衣内裤，件件补丁摞补丁。因为怕国外有传染病，我们要保证总理的安全，所以他的内衣内裤不能拿到街上去洗。何况总理的内衣裤补丁那么多，拿出去影响未必好。万一是用洗衣机，这样的衣服肯定会被搅破。在家我们可以帮总理洗衣，在国宾馆显然没办法，没法拿出去晾晒，万一被照张相，还不知会引出什么故事来。所以，出国就只能交大使馆，请使馆里的女同志帮忙洗。每逢这时，都是大使夫人亲自动手为总理洗，许多大使夫人都是边洗边哭。记得总理在马里访问时，大使赖亚力的夫人看到总理穿的衣服，有的补丁摞补丁，有的布都糟了，稍一用力就破个洞；所有这些衬衣，只有领口袖口是换了新的，露在外面一圈不会被人发现里面的内衣破旧成什么样。她一边洗一边流眼泪，轻轻喃出几声“总理……”，就是说不出一句完整话。</p>
<p>作为我们一个六七亿人口的泱泱大国的总理，穿这样破旧的衣服，叫外国服务员看到了会怎么议论？他们不了解我们的国情，和我们的价值观、道德观也不同，难免不理解，所以还是向他们严格保密为好。所以，每天早晨总理一起床，首先由我们的卫士进去，该收的收，该藏的藏，行李箱锁严实了，才放服务员进。到了晚上，总理再休息时，才开锁取出卧具、牙具和衣物。服务员见不到开箱子，自然以为里面都是贵重之物。但是，以总理为代表，中国人民正是这样节俭奋斗，才尽自己所能省出了钱物支援那些第三世界的国家和人民。</p>
</blockquote>
<p>周总理的清正廉洁做的有时候让身边人感觉有些“过分”，他的回答则是：</p>
<blockquote>
<p>“我这样做是不是有点过分？”他像是问我们，又像问自己，带着沉思的表情停顿片刻才又说：“我看不过分。前提是我们国家还一穷二白。这里有两种考虑。六七亿人口的中国，不就是我一个总理吗？再穷也不缺我几身新衣服，何况对外还有个影响问题。这话不是没道理。但我们不能少了另一个考虑：身为六七亿人口大国的总理，我怎样做不是我一个人的事，这表明我提倡什么。六七亿人口是应该提倡节俭，还是现在就不顾国情去追求享受？我更多考虑的是后者。”</p>
</blockquote>
<p>总理公私分明，在解放后，一直坚持私人用车要自费。工资发下后，钱归我管，工资表他一定要过目，就是检查是否扣除了用车费和外出用餐费等。他把看戏、跳舞、到公园散步、到饭店理发算作私事，把去医院看病人、到民主人士家拜访及看望外国朋友这类亦公亦私的事也都算作私事用车，都坚持自费。他乘车的记账，先由我记，后来嫌我记的账有疏漏，转交钟步云记。老钟遇空难后，就直接交由司机杨金明本人记账了。总理说：“你开车你记账，这样不会出现疏漏。”</p>
<h3>小结</h3>
<p>能做到“鞠躬尽瘁，死而后已”的中共高级干部中，周恩来一定是做的最好的那个。<br />
能做到“毫无私心，一心为公”的中共高级干部中，周恩来一定是做的最好的那个。</p>
<p>如果现在的干部们做到哪怕只有周总理十分之一的程度，中国何愁不更加强大，民族何愁不更早复兴！</p>
<p>强烈向大家推荐权延赤的《走近周恩来》。同时也给自己一个任务：<strong>有机会一定要去周恩来邓颖超纪念馆瞻仰一下伟人的风采</strong>。</p>
<hr />
<p>Go技术专栏“<a href="https://www.imooc.com/read/87">改善Go语⾔编程质量的50个有效实践</a>”正在慕课网火热热销中！本专栏主要满足广大gopher关于Go语言进阶的需求，围绕如何写出地道且高质量Go代码给出50条有效实践建议，上线后收到一致好评！欢迎大家订<br />
阅！</p>
<p><img src="https://tonybai.com/wp-content/uploads/imooc-go-column-pgo-with-qr.jpg" alt="img{512x368}" /></p>
<p>我的网课“<a href="https://coding.imooc.com/class/284.html">Kubernetes实战：高可用集群搭建、配置、运维与应用</a>”在慕课网热卖中，欢迎小伙伴们订阅学习！</p>
<p><img src="https://tonybai.com/wp-content/uploads/imooc-k8s-practice-with-qr.jpg" alt="img{512x368}" /></p>
<p>Gopher Daily(Gopher每日新闻)归档仓库 &#8211; https://github.com/bigwhite/gopherdaily</p>
<p>我的联系方式：</p>
<ul>
<li>微博：https://weibo.com/bigwhite20xx</li>
<li>微信公众号：iamtonybai</li>
<li>博客：tonybai.com</li>
<li>github: https://github.com/bigwhite</li>
<li>“Gopher部落”知识星球：https://public.zsxq.com/groups/51284458844544</li>
</ul>
<p>微信赞赏：<br />
<img src="https://tonybai.com/wp-content/uploads/wechat-zanshang-code-512x512.jpg" alt="img{512x368}" /></p>
<p>商务合作方式：撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。</p>
<p style='text-align:left'>&copy; 2021, <a href='https://tonybai.com'>bigwhite</a>. 版权所有. </p>
]]></content:encoded>
			<wfw:commentRss>https://tonybai.com/2021/09/15/getting-closer-to-zhou-enlai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>《改善技术布道效果的几个实践》勘误</title>
		<link>https://tonybai.com/2012/08/07/errata-of-some-practice-to-improve-tech-sermon/</link>
		<comments>https://tonybai.com/2012/08/07/errata-of-some-practice-to-improve-tech-sermon/#comments</comments>
		<pubDate>Tue, 07 Aug 2012 01:45:40 +0000</pubDate>
		<dc:creator>bigwhite</dc:creator>
				<category><![CDATA[读书吧]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Blogger]]></category>
		<category><![CDATA[CSDN]]></category>
		<category><![CDATA[Programmer]]></category>
		<category><![CDATA[勘误]]></category>
		<category><![CDATA[博客]]></category>
		<category><![CDATA[思考]]></category>
		<category><![CDATA[感悟]]></category>
		<category><![CDATA[技术布道]]></category>
		<category><![CDATA[杂志]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[程序员]]></category>

		<guid isPermaLink="false">http://tonybai.com/?p=965</guid>
		<description><![CDATA[上个月很荣幸收到了《程序员》杂志编辑的约稿：写一篇有关技术布道的短文。经过多次修改，短文发表在了《程序员》杂志的2012年第8期上，名为《改善技术布道效果的几个实践》，文章主要关注的是组织内部的技术布道实践。 昨天收到杂志社寄来的样刊，很遗憾发现两处错误的地方，已经与编辑做过沟通，他们后续会做处理。这里也公布一下错误的地方，以免读者们误解文章中的内容。 1、&#34;以点及面&#34;、&#34;划分阶段&#34; 和&#34;善于借势&#34;应该是&#34;制定策略&#34;下面的子观点，不应该与&#34;制定策略&#34;并列。 2、&#34;保持耐心&#34;和&#34;降低心理预期&#34;应该是&#34;心理建设&#34;下面的子观点，不应该与&#34;心理建设&#34;并列。 出现这种错误的主要原因是我提供的原始稿件格式有问题。原始稿件用openoffice编辑的，编辑时两类观点的项目符号的确是不同的，但保存后再打开，项目符号居然变成一样的了。 &#160; &#169; 2012, bigwhite. 版权所有.]]></description>
			<content:encoded><![CDATA[<p>上个月很荣幸收到了《<a href="http://www.programmer.com.cn">程序员</a>》杂志编辑的约稿：写一篇有关技术布道的短文。经过多次修改，短文发表在了《程序员》杂志的2012年第8期上，名为《改善技术布道效果的几个实践》，文章主要关注的是组织内部的技术布道实践。</p>
<p>昨天收到杂志社寄来的样刊，很遗憾发现两处错误的地方，已经与编辑做过沟通，他们后续会做处理。这里也公布一下错误的地方，以免读者们误解文章中的内容。</p>
<p>1、&quot;以点及面&quot;、&quot;划分阶段&quot; 和&quot;善于借势&quot;应该是&quot;制定策略&quot;下面的子观点，不应该与&quot;制定策略&quot;并列。</p>
<p>2、&quot;保持耐心&quot;和&quot;降低心理预期&quot;应该是&quot;心理建设&quot;下面的子观点，不应该与&quot;心理建设&quot;并列。</p>
<p>出现这种错误的主要原因是我提供的原始稿件格式有问题。原始稿件用openoffice编辑的，编辑时两类观点的项目符号的确是不同的，但保存后再打开，项目符号居然变成一样的了。</p>
<p>&nbsp;</p>
<p style='text-align:left'>&copy; 2012, <a href='https://tonybai.com'>bigwhite</a>. 版权所有. </p>
]]></content:encoded>
			<wfw:commentRss>https://tonybai.com/2012/08/07/errata-of-some-practice-to-improve-tech-sermon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>读《How Google Tests Software》</title>
		<link>https://tonybai.com/2012/07/10/read-how-google-tests-software/</link>
		<comments>https://tonybai.com/2012/07/10/read-how-google-tests-software/#comments</comments>
		<pubDate>Tue, 10 Jul 2012 12:18:24 +0000</pubDate>
		<dc:creator>bigwhite</dc:creator>
				<category><![CDATA[读书吧]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Blogger]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Programmer]]></category>
		<category><![CDATA[SET]]></category>
		<category><![CDATA[SWE]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[云计算]]></category>
		<category><![CDATA[代码评审]]></category>
		<category><![CDATA[博客]]></category>
		<category><![CDATA[开发]]></category>
		<category><![CDATA[持续集成]]></category>
		<category><![CDATA[测试]]></category>
		<category><![CDATA[自动化]]></category>
		<category><![CDATA[质量]]></category>

		<guid isPermaLink="false">http://tonybai.com/?p=934</guid>
		<description><![CDATA[一直对Google这个牛X公司的内部开发过程很是感兴趣，毕竟像Google Search Engine、Google云计算平台这些伟大产品都是在这个开发过程下缔造出来的。但也许是Google保密工作做的很好，或许人家不是刻意保密，只是 因为工作太忙或人员太低调，没空派人出来宣讲罢了。外界对Google内部的开发流程知之甚少；知道一些，诸如20%项目，也只是皮毛。 终于有一天，Google的三位工程师冒了出来，为我们带来的了一本名为《How Google Tests Software》的小书。我断断续续用了不到一周时间粗略地浏览了一遍这本书，算是对神秘的Google内部开发过程有了初步的了解了。其中有一些思路 还真是值得我后续深入思考，这里仅列出一些让我心有所触的&#34;点&#34;，与大家共享。 书是从Test角度展开的，但Google的Test与我们所熟知的Test还有不同，包括这个过程的角色设置与职责等。下面是从书中摘录的一些语句(有些地方是我总结后的)和观点，再加上我的一些体会。 1、在Google，Software Testing被称作&#34;Engineering Productivity(工程效率)&#34;，既负责开发和测试工具的开发、发布工程，还负责从单元测试(unit level)到探索性测试(exploratory testing)的全过程。 &#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160; &#8212; 在国内，多数公司的Testers只负责测试过程，而且多从功能测试开始，Unit test是开发人员的责任。大部分公司的开发与测试工具都是开发人员设计和实现的，但也有少部分先进的公司有专职的测试工具开发岗。总体来 说，Google内部的&#34;测试人员&#34;角色是与众不同的。 2、&#34;Quality is a development issue, not a testing issue&#34;、 &#160;&#160;&#160;&#160; &#34;At Google, this is exactly our goal: to merge development and testing so that you cannot do one without the other. Build a little [...]]]></description>
			<content:encoded><![CDATA[<p>一直对Google这个牛X公司的内部开发过程很是感兴趣，毕竟像<a href="http://www.google.com">Google Search Engine</a>、<a href="https://appengine.google.com">Google云计算平台</a>这些伟大产品都是在这个开发过程下缔造出来的。但也许是Google保密工作做的很好，或许人家不是刻意保密，只是 因为工作太忙或人员太低调，没空派人出来宣讲罢了。外界对Google内部的开发流程知之甚少；知道一些，诸如20%项目，也只是皮毛。</p>
<p>终于有一天，Google的三位工程师冒了出来，为我们带来的了一本名为《<a href="http://book.douban.com/subject/7065508">How Google Tests Software</a>》的小书。我断断续续用了不到一周时间粗略地浏览了一遍这本书，算是对神秘的Google内部开发过程有了初步的了解了。其中有一些思路 还真是值得我后续深入思考，这里仅列出一些让我心有所触的&quot;点&quot;，与大家共享。</p>
<p>书是从Test角度展开的，但Google的Test与我们所熟知的Test还有不同，包括这个过程的角色设置与职责等。下面是从书中摘录的一些语句(有些地方是我总结后的)和观点，再加上我的一些体会。</p>
<p>1、在Google，Software Testing被称作&quot;Engineering Productivity(工程效率)&quot;，既负责开发和测试工具的开发、发布工程，还负责从单元测试(unit level)到探索性测试(exploratory testing)的全过程。<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212; 在国内，多数公司的Testers只负责测试过程，而且多从功能测试开始，Unit test是开发人员的责任。大部分公司的开发与测试工具都是开发人员设计和实现的，但也有少部分先进的公司有专职的测试工具开发岗。总体来 说，Google内部的&quot;测试人员&quot;角色是与众不同的。</p>
<p>2、&quot;Quality is a development issue, not a testing issue&quot;、<br />
	&nbsp;&nbsp;&nbsp;&nbsp; &quot;At Google, this is exactly our goal: to merge development and testing so that you cannot do one without the other. Build a little and then test it. Build some more and test some more. &quot;&nbsp; 、<br />
	&nbsp;&nbsp;&nbsp;&nbsp; &quot;The reason Google can get by with so few dedicated testers is because developers own quality.If a product breaks in the field, the first point of escalation is the developer who created the problem, not the tester who didn&#39;t catch it.&quot;<br />
	&nbsp;&nbsp;&nbsp;&nbsp; &quot;Testing must be an unavoidable aspect of development, and the marriage of development and testing is where quality is achieved.&quot;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; &#8212; 可以看出Google信奉：&quot;Developer是质量的owner，是第一责任人；质量应该由开发人员把关；测试是开发过程必不可少的一方面；将开发与 测试融合在一起以获取更高的质量；开发一些，测试一些(迭代的思想)&quot;。而国内多数组织依旧信奉着测试是软件质量的最后保证这一信条，将开发和测试隔离的 很开。<br />
	&nbsp;<br />
	3、Google内部开发测试过程的三个角色：software engineer (SWE) 、software engineer in test (SET)和 test engineer (TE)，Google SWEs are feature developers. Google SETs are test developers. Google TEs are user developers.</p>
<p>&nbsp;&nbsp;&nbsp; &#8212; 在Google，似乎没有纯粹的传统意义上的Testers，按照书中所讲，SWE肯定是开发工程师，负责实现产品功能(feature)，而SET，其 实也是开发工程师，用于编写产品的测试Feature，关于测试Feature这个概念很独特，Google认为，产品应该有两种Feature属性，一 种是function feature，一种则是产品的test feature，而SWE和SET则分别focus这两点。SWE和SET共享同一代码库，是开发过程中的Partner。与SWE关注功能 feature不同，SET更加关注产品的可测试性、如何通过测试提升产品质量以及提升测试覆盖率以及产品性能。他们为产品的feature编写测试代 码，从单元测试到后续的各种测试，编写各种工具，并尽量的将测试自动化，提升测试效率。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 而TE这个角色则有些类似传统的Testers，但在Google也有不同。在Google，TE更多是从user角度去探索产品，有的TE会编写大量脚 本代码，模拟user使用产品的各种场景；按照书中的说法：&quot;TEs are product experts, quality advisers, and analyzers of risk&quot;。</p>
<p>4、One of the key ways Google achieves good results with fewer testers than many companies is that we rarely attempt to ship a large set of features at once.</p>
<p>&nbsp;&nbsp;&nbsp; &#8212; 显然Google也倾向于增量的迭代开发，这种模式符合Google内部的role设置，同时，这种role设置也更好地促进了增量迭代开发的顺利高效开展。</p>
<p>5、Build the core of a product and release it the moment it is useful to as large a crowd as feasible, and then get their feedback and iterate. This is what we did with Gmail, a product that kept its beta tag for four years.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; Google often builds the minimum useful product as an initial version and then quickly iterates successive versions allowing for internal and user feedback and careful consideration of quality with every small step. Products proceed through canary, development, testing, beta, and release channels before making it to users.</p>
<p>&nbsp;&nbsp; &#8212; 这似乎就是Google著名的&quot;Beta&quot;模式，目前很多互联网企业(特别是startup)均效仿之。</p>
<p>6、Instead of distinguishing between code, integration, and system testing, Google uses the language of small, medium, and large tests, emphasizing scope over form.</p>
<p>&nbsp;&nbsp;&nbsp; Small tests cover a single unit of code in a completely faked environment. Medium tests cover multiple and interacting units of code in a faked or real environment. Large tests cover any number of units of code in the actual production environment with real and not faked resources.</p>
<p>&nbsp;&nbsp;&nbsp; The general rule of thumb is to start with a rule of 70/20/10: 70 percent of tests should be small, 20 percent medium,<br />
	and 10 percent large.</p>
<p>&nbsp;&nbsp; &#8212; Google内部的测试不是按照代码<a href="http://tonybai.com/2010/09/30/opensource-a-lightweight-c-unit-test-framework/">单元测试</a>、集成测试以及系统测试这些典型的阶段划分的，而是用&quot;small、medium、large、 enormous&quot;这些词汇来描述测试的各个环节，这些词汇也是Google内部的&quot;共同语言&quot;。如何界定这些测试的scope呢？Google内部有一 套共享的测试执行系统，它通过test size来界定不同的test类型。比如：对small tests的要求是每方法(method)的测试执行时间不能超过100ms，如果1分钟仍然执行不完，则将被kill掉。</p>
<p>7、Keeping it simple and uniform is a specific goal of the Google platform: a common Linux distribution for engineering workstations and production deployment machines; a centrally managed set of common, core libraries; a common source,<br />
	build, and test infrastructure; a single compiler for each core programming language; language independent, common build specification; and a culture that respects and rewards the maintenance of these shared resources.</p>
<p>&nbsp;&nbsp; &#8212; 在Google内部一切都是&quot;整齐划一&quot;的，大大降低了各种人员在熟悉、学习和使用过程中的工作量。可以看出，Google为了提升内部开发效率，真是无 所不用其极啊。另外Google内部这套完整的强大的基础设施工具、库、语言以及流程支撑想必也让大家垂涎三尺吧。</p>
<p>8、There is no set rule at Google for when SETs engage in a project, as there are no set rules for establishing when projects become &ldquo;real.&rdquo; A common scenario for new project creation is that some informal 20 percent effort takes a life of its own as an actual Google-branded product. Gmail and Chrome OS are both projects that started out as ideas that were not formally sanctioned by Google but overtime grew into shipping products with teams of developers and testers working on them.</p>
<p>No project gets testing resources as some right of its existence. The onus is on the development teams to solicit help from testers and convince them that their project is exciting and full of potential.</p>
<p>&nbsp; &#8212; 这两段话既描述了SETs进入项目的时机，同时也从侧面反映出了Google内部产品的初期形成机制。在这种机制下，一些著名产品诸如Gmail、 Chrome等诞生了。个人很是认同这种自底向上的产品&quot;产生机制&quot;，有利于员工创造力的充分展现。其实退一步来说，我们不一定非要公司明确规定设置 20%个人时间，只是我们在平时工作中主动去发现、去分析、思考和总结，我们一样可以&quot;创造&quot;出一些用于改善我们工作和生活的工具或产品，这些&quot;成果&quot;在 我们的日常工作中使用，逐渐被大家所接受，甚至于发展演化成熟，形成一个可盈利的产品或是贡献给开源社区，不是一样很好么。感觉国内的很多互联网公司里面 的一些同行正在做这些事情。</p>
<p>9、This is the convention at Google: Make the common case fast.</p>
<p>&nbsp; &#8212; 这显然已经上升到了哲学的层次，不仅对开发测试过程的效率改进有着指导意义，对软件自身的调优也是一样富有价值。甚至于对我们的日常生活也是有帮助的。</p>
<p>10、Designs that seek to automate everything end-to-end all in one master test suite are generally a mistake. The larger an automation effort is, the harder it is to maintain and the more brittle it becomes as the system evolves. It&rsquo;s the smaller, more special purpose automation that creates useful infrastructure and that attracts the most SWEs to write tests.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Overinvesting in end-to-end automation often ties you to a product&rsquo;s specific design.</p>
<p>&nbsp; &#8211;&nbsp; 这又是Google内部对<a href="http://tonybai.com/2011/10/31/improving-efficiency-should-not-only-be-a-slogan/">自动化测试</a>的一种中肯的实用的理解。我们要自动化，但要掌握方法，不要大而全，要小且精，吸引SWE自己去写测试代码。过分追求全闭环的自动化测试会将你与一个产品的细节间建立依赖。</p>
<p>11、Google centers its development process around code reviews. There is far more fanfare about reviewing code than there is about writing it.<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; These pre-submit rules cover simple things such as adherence to the Google coding style guide and more involved things such as ensuring that every existing test associated with the CL has been executed (the rule is that all tests must pass).</p>
<p>&nbsp; &#8212; Google打造了一个以<a href="http://tonybai.com/2011/02/22/code-reviews/">代码评审</a>为中心的开发过程，建立了一套完整的日常开发流程以及评审流程。并通过一套完整的工具平台在代码提交评审前对代码进行各种自动化检查，让评审过程更加focus关键业务逻辑，而不是语法之类的细节。</p>
<p>12、Test Runtime Requirements<br />
	&nbsp;&nbsp; &#8211; Each test must be independent from other tests so that tests can be executed in any order.<br />
	&nbsp;&nbsp; &#8211; Tests must not have any persistent side effects. They must leave their environment exactly in the state when it started.</p>
<p>&nbsp; &#8212; 这里点明测试执行的原则：测试case间无依赖，可任意顺序执行；测试执行应遵循&quot;<a href="http://tonybai.com/2011/04/23/the-boy-scout-rule/">童子军</a>&quot;纪律：测试执行结束后，将环境恢复到测试起始状态。</p>
<p>13、带认证的测试(Test Certified)</p>
<p>&nbsp; &#8212; Google内部建立了类似竞赛似的规则，对每个项目的测试水平进行认证，分为几个级别：从TC level1到TC level5。对于每个级别都有明确的指标，甚至是明确的达标数字，比如总测试覆盖率，各种类型(比如small)测试的覆盖率等。在每个项目的首页都会 看到该项目的认证级别。这种规则将促使项目SWE和SET不断地改善测试，来提升测试认证水平，间接地提升了产品的质量。</p>
<p style='text-align:left'>&copy; 2012, <a href='https://tonybai.com'>bigwhite</a>. 版权所有. </p>
]]></content:encoded>
			<wfw:commentRss>https://tonybai.com/2012/07/10/read-how-google-tests-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011·读过的书</title>
		<link>https://tonybai.com/2011/12/22/book-list-i-have-read-in-2011/</link>
		<comments>https://tonybai.com/2011/12/22/book-list-i-have-read-in-2011/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 13:46:00 +0000</pubDate>
		<dc:creator>bigwhite</dc:creator>
				<category><![CDATA[读书吧]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Blogger]]></category>
		<category><![CDATA[博客]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[家庭]]></category>
		<category><![CDATA[工作]]></category>
		<category><![CDATA[年终总结]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[读书]]></category>
		<category><![CDATA[豆瓣]]></category>

		<guid isPermaLink="false">http://tonybai.com/2011/12/22/2011%c2%b7%e8%af%bb%e8%bf%87%e7%9a%84%e4%b9%a6/</guid>
		<description><![CDATA[<p>2011年我的确读了不少书，掐指算来纸版和电子版加在一起近50本，其中以技术类居多，但其他方面的也有一些。这里列出来做个简单回顾。<br />
<br />
一、技术类<br />
<br />
&#183; 《你必须知道的495个C语言问题》<br />
<br />
早在这本书出版前，其译者已经在网上完成了C FAQs的翻译(在这里)。这本书...</p>]]></description>
			<content:encoded><![CDATA[<p>2011年我的确读了不少书，掐指算来纸版和电子版加在一起近50本，其中以技术类居多，但其他方面的也有一些。这里列出来做个简单回顾。</p>
<p>一、技术类<br />
	&middot; 《<a href="http://book.douban.com/subject/3422332/" target="_blank">你必须知道的495个C语言问题</a>》<br />
	早在这本书出版前，其译者已经在网上完成了C FAQs的翻译(在<a href="http://c-faq-chn.sourceforge.net" target="_blank">这里</a>)。这本书是基于最新C FAQs做了重新整理(包含<a href="http://tonybai.com/2011/08/31/simplify-coding-in-c99/" target="_blank">C99</a>)。虽说是最新，但因C语言近几年来变化很小，内容与之前译者在网上公开的那个免费版本相差不多。这本书适应面很广，初学者可以从中了解到很多谭氏教程中没有的东西；有经验的C程序员可以把它当成一本手册，需要时翻看。对于那些很在乎C语言细节的程序员来说，翻看一遍也未尝不可。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/3420775" target="_blank">The New C Standard &#8211; An Economic and Cultural Commentary</a>》<br />
	这本书的作者真是牛X的一塌糊涂。整本书居然是对C99规范的逐句解释，而且写成了一部1600多页的大砖头。这本书应该未正式出版，我看的是作者在网上放出的<a href="http://www.knosof.co.uk/cbook/cbook.html" target="_blank">免费电子版</a>。如果你痴迷于C语言规范的细节，这本书是一本不可多得的辅助资料。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/4136222/" target="_blank">C和C++安全编码</a>》<br />
	<a href="http://www.cert.org/secure-coding/" target="_blank">Cert</a> C/C++安全编码经验的浓缩版，读一遍的确可以提高一些编码过程中的安全意识。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/1456903/" target="_blank">Practical Common Lisp</a>》<br />
	Peter Seibel编写的一本荣获Jolt大奖的<a href="http://tonybai.com/2011/06/21/hello-common-lisp/" target="_blank">Common Lisp</a>入门书。你在这里可以看到这本书的<a href="http://www.gigamonkeys.com/book/" target="_blank">免费电子版</a>，其中文版名为《<a href="http://book.douban.com/subject/6859720/" target="_blank">实用Common Lisp编程</a>》，现在在我的书架上也躺着一本，我还没抽出时间来看。如果你是Common Lisp初学者，这本书是不二的首选。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/1456906" target="_blank">ANSI Common Lisp</a>》<br />
	Lisp语言的著名吹鼓手Paul Graham的大作，成书于Common Lisp标准化之际，是一本不错的Common Lisp入门的辅助资料。个人认为将《Practical Common Lisp》与此书结合在一起来学习，会加深你对Common Lisp的理解。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/1794389" target="_blank">Haskell &#8211; The Craft of Funcitonal Programming 2nd</a>》<br />
	这是一本比《<a href="http://tonybai.com/2010/11/14/the-chinese-translation-project-for-programming-in-haskell/" target="_blank">Programming in Haskell</a>》更适合作为函数式编程语言入门的书。书中第一章对函数式编程基本概念的讲解很是到位，并且这本书已经被译成了中文，书名为《Haskell函数程序设计艺术》，在网上可以免费下载到。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/4768035" target="_blank">Seven Languages in Seven Weeks</a>》<br />
	估计大家都见过《21天学会X语言》这样的编程语言教程。21天学会某种编程语言已经有些差强人意了，但这本书更狠 &#8211; 书名的直译是&quot;七周学会七门语言&quot;，但显然本书的目标不是这样的。作者的原意是希望读者通过阅读本书了解更多的新兴编程语言以及编程范式，改变编程思维，另外通过本书的阅读可以初步掌握各种语言，并且对语言的掌握程度不仅仅是&quot;Hello World&quot;这一层次。今年年初与其他人合译了此书，也是在那时将这本书通读了一遍。我负责翻译Prolog、Scala和Haskell三个章节。在书中作者将每一门语言比作成一个电影中的人物，使得内容更加生动形象(但翻译起来就没那么容易了^_^)。特别值得一提的是：该书还荣获了今年的Jolt大奖，由此可见业界对该书的认可。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/5401851/" target="_blank">Python参考手册(第四版)</a>》<br />
	像Python这样的动态编程语言，一直以极高的开发效率著称，这也是我今年学习和使用Python的一个原因，Python强大的标准库可以帮我快速实现一些想法(<a href="http://tonybai.com/2011/12/08/buildc-a-building-assistant-tool-for-c-app/" target="_blank">buildc</a>就是用Python编写的)。《Python参考手册》这本书并不适合作语言入门之用，里面对语言细节的讲解很少，其内容更多适用于工程参考，包括库函数使用、打包、发布等，这正是当时我所需要的。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/2580604/" target="_blank">持续集成</a>》和《<a href="http://book.douban.com/subject/6862062" target="_blank">持续交付</a>》<br />
	持续集成已经是存在已久的一个最佳实践了。《持续集成》一书对这方面内容做了极其系统的讲解；持续交付将持续集成的概念做了进一步延伸，将软件开发的前段（设计、编码、单元测试）与后段（功能测试、压力测试、发布、部署、验收测试）衔接在一起，形成了一个整体，并通过自动化手段实现了这一概念。在我看来《持续交付》一书更像是一本cookbook，作者将自己实施持续交付过程中采用的方案以及遇到的问题都详实地记录在书中，分享给大家。这本书获得了今年的Jolt技术图书类最高奖，很是值得一读。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/5333562/" target="_blank">深入理解计算机系统 2nd</a>》<br />
	本书的第一版是在大学毕业后不久读的，当时真有一种相见恨晚的感觉，读完后战斗力陡增。若干年后第二版的中文版终于出炉了，我又迫不及待地买下，并通读了一遍。这本书究竟咋样，从我豆瓣上给的评语可以看出：&quot;如果只允许我为程序员们推荐一本书，那么我会毫不犹豫的将这本csapp推荐给大家。太经典了！&quot;</p>
<p>&middot; 《<a href="http://book.douban.com/subject/4251048" target="_blank">Binary Hacks</a>》和《<a href="http://book.douban.com/subject/6799412" target="_blank">Debug Hacks</a>》<br />
	讨厌日本人，但有些时候你的确还得向日本人学习，这两本书都是由日本程序员执笔的，而且内容都是有关系统编程以及OS内核编程和调试的，内容比较深，需要你静下心来细心体会，国内程序员往往比较浮躁，愿意做底层技术的很少，坚持下来的就更少了，这方面日本程序员却是我们的典范。有关系统级编程和调试经验和技巧的资料在市面上比较少了，这也凸显了这两本书的价值。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/6727874/" target="_blank">A Bug Hunter&#039;s Diary</a>》<br />
	这本书只是粗略的浏览了一些，书里的案例实在看不下去，总觉的Debug这事儿只有自己亲手去做才能有所得，就像看《盗墓笔记》一样，看完后你依旧不会倒斗，只有亲自倒一次斗才能学到真本事。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/3907181" target="_blank">Linux系统编程</a>》<br />
	知名Linux内核维护者Robert Love的作品，结合底层原理的机制讲解是本书一大特色，但总体比较平淡，有些地方更像是函数使用手册，建议有经验的程序员快速浏览一遍即可。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/3042029/" target="_blank">Linux系统管理技术手册</a>》<br />
	简直就是一本Linux系统管理的大百科全书，内容涵盖各种主流Linux发行版，如RHEL、Debian、OpenSuse、Ubuntu等，极其适合放在抽屉里随时翻阅，我就是这么做的。</p>
<p>&middot; 《Pragmatic Guide to Git》和《<a href="http://progit.org/" target="_blank">Pro Git</a>》<br />
	前者适合Git入门，后者适合Git进阶。一个版本控制工具，没有什么好说的。对于Git学习的建议是：要领悟Git背后的思想，另外不要将Git命令的含义与svn等传统版本控制工具的命令混淆，Git命令需全新认知。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/6713152/" target="_blank">软件研发之道</a>》<br />
	典型的&quot;新瓶装老酒&quot;，该书早在N年前就出过一中译版，名为《<a href="http://book.douban.com/subject/1068779/" target="_blank">微软团队 &#8211; 成功秘诀</a>》。如果你看过后者，你大可不必购买此书。不过如果你没看过这本书，那么还是建议看看，虽说书中讲的是微软当年Visual C++团队的事情，但读后你会发现其中的思想至今仍极具价值。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/1271597/" target="_blank">编程之道</a>》<br />
	这是一本奇书，一本悬在空中的书，全书通读完后，你可能依然不知作者所云，但你的内心却已被作者的思想洗礼。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/3210669" target="_blank">编程匠艺</a>》<br />
	如果你认为《代码大全2nd》是好书，那么你也会喜欢这本书，它们是一类的。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/2334288" target="_blank">大话设计模式</a>》<br />
	这类书的目标都是意图将晦涩难懂的《<a href="http://book.douban.com/subject/1052241/" target="_blank">Design Pattern</a>》一书通俗化。但一般看这类书的时候，身旁还要放上一本《Design Pattern》，随时翻阅查证。今年在考量用<a href="http://tonybai.com/tag/设计模式" target="_blank">C实现Pattern</a>时顺便读完了这本书，总体来说算是国内讲解DP比较优秀的一本了。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/1230559/" target="_blank">企业应用架构模式</a>》<br />
	Martin Fowler在2003年的作品，也是当年Jolt效率大奖获得者。当时也是企业应用架构蓬勃发展的时期 &#8211; J2EE大行其道，轻量级框架方兴未艾。作者将当时进行企业应用架构设计一些经验模式进行了详尽的总结并写成此书。在企业应用设计方面，我了解甚少，这也是今年阅读此书的一个主要原因。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/3319935/" target="_blank">走出软件作坊</a>》<br />
	为数不多的国内IT企业技术管理者的经验之谈，很多人在书中会找到自己的影子。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/6021440" target="_blank">黑客与画家</a>》<br />
	Paul Graham的又一部大作，与之前的那本不同，这本更像是Paul的散文集，看完后是否能受益，全看你的悟性了。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/3924175" target="_blank">构建高性能Web站点</a>》<br />
	我不是搞Web开发的，但此书前三章对Web站点性能影响因素的分析还是让我受益匪浅的。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/3119946" target="_blank">程序设计语言原理</a>》<br />
	从China-pub淘来的一本特价书，但读了之后我感觉即使是原价买来也是很划算的。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/1141154/" target="_blank">程序开发心理学</a>》<br />
	温伯格的经典之作。由于原著成书较早，经过几十年很多思想其实早已经通过其他渠道灌输到我们的大脑中了，但越是这样我们越是惊叹于温大牛惊人的预见力。要知道这本书最早成书于1971年。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/4317573/" target="_blank">算法技术手册</a>》<br />
	今年读的唯一算法类书籍，这本书不像《<a href="http://book.douban.com/subject/1885170/" target="_blank">算法导论</a>》那样钻理论牛角尖，也不像《<a href="http://book.douban.com/subject/3923731" target="_blank">程序员实用算法</a>》那样着重于算法的实现，它旨在赋予你精确选择算法的能力，以帮助你精确高效地解决面临的问题。</p>
<p>二、社科类<br />
	&middot; 《<a href="http://book.douban.com/subject/1313124/" target="_blank">赢</a>》<br />
	杰克.韦尔奇退休后的总结之作。记得上次陪LP参加桩考，我用了大半天时间在我的<a href="http://tonybai.com/2011/08/16/some-notes-on-using-bambook/" target="_blank">Bambook</a>上把这本书浏览了一遍。不过在我这个层次上尚无法理解杰克全部之言。这本书对于不同层次的人会有不同的价值。它就是那种需要你在不同时期反复多次阅读的一本书。也许若干年后再读此书，我会有更深刻的认识。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/6709783" target="_blank">浪潮之巅</a>》<br />
	今年我读到的最震撼之作。之前吴军在Google黑板报上连载时我并未太过在意，这次系统地通读一遍后，让我眼界大开，从书中学到了许多，同时也激发我想到了许多。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/4849382" target="_blank">搞定: 无压工作的艺术</a>》(Getting Things Done的中译版)和《<a href="http://book.douban.com/subject/3558629" target="_blank">时间管理：小强升职记</a>》<br />
	前者是GTD时间管理理论的源头，后者则是国内GTD牛人的经验之作。时间管理是今年我的一个重点改进目标，这两本书给了我很大帮助。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/4010185" target="_blank">哪来的天才</a>》<br />
	这本书向我们阐述了一个观点：刻意练习是天才的一个必要条件。如果你不认同，那么打开这本书，慢慢看吧。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/3609132/" target="_blank">把时间当作朋友</a>》<br />
	原新东方英语教师李笑来的作品，很难想象他这样的职业能写出这种题材的书。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/5320866" target="_blank">重来</a>》<br />
	来自一个创业公司创业者们的颠覆性观点。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/1775691/" target="_blank">少有人走的路</a>》<br />
	感觉没有外界宣传的那么好，也许我还没有悟到。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/1322025/" target="_blank">卓有成效的管理者</a>》<br />
	管理学大师的作品总是值得一读的，虽然你很可能已经从其他场合学到过其中的思想。</p>
<p>三、传记类<br />
	&middot; 《<a href="http://book.douban.com/subject/4860552" target="_blank">活着就为改变世界</a>》和《<a href="http://book.douban.com/subject/6798611/" target="_blank">史蒂夫&middot;乔布斯传</a>》<br />
	看《活着就为改变世界》时，乔布斯还活着；后来乔布斯去逝了，我拿到了《史蒂夫&middot;乔布斯传》。感谢京东的促销活动，让我以超低的价格买到乔帮主留给世人的这最后的礼物。两本书都告诉我一个事实：乔布斯的确与众不同，但讨厌他、憎恨他的人也大有人在。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/4010196" target="_blank">世界因你不同</a>》<br />
	以前看过李开复的《<a href="http://book.douban.com/subject/1427679/" target="_blank">做最好的自己</a>》，对李开复有些了解，所以读这本传记时也就走马观花了。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/1007313/" target="_blank">留德十年</a>》和《<a href="http://book.douban.com/subject/1062423/" target="_blank">牛棚杂忆</a>》<br />
	一直很想知道季羡林为何被称为国学大师，通过回忆录是了解这个大师的一个很好的途径。</p>
<p>四、小说类</p>
<p>&middot; 《<a href="http://book.douban.com/series/2308" target="_blank">盗墓笔记系列</a>》<br />
	这类题材的书籍总是吸引人的眼球，就如作者所说的&ldquo;盗墓代表着人类一种最原始的欲望，求得财富和探询死亡，这种刺激，恐怕是人就无法避免的&quot;。不能去倒斗，看看别人如何倒斗也能满足一些欲望^_^。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/2567698" target="_blank">三体</a>》<br />
	慕名而读，名不虚传。作者超凡的想象力让人不能不折服，至少第一部是如此。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/1774628" target="_blank">高地</a>》<br />
	今年看的唯一一部军旅题材小说，在部门旅游来回的途中把这部小说看完，情节跌宕，情感细腻，值得一看。</p>
<p>五、其他类<br />
	&middot; 《<a href="http://book.douban.com/subject/1410752/" target="_blank">准备去美国读书</a>》<br />
	为了了解美国教育是什么样子的，从图书馆借阅的，如果你和我有同样的目的，这本书还是可以满足需求的。</p>
<p>&middot; 《<a href="http://book.douban.com/subject/4279673/" target="_blank">实用IT英语</a>》<br />
	简直就是为IT人士量身定做的外语书，着重培养&quot;英语思维&quot;的形成，感觉书的内容也比较新颖。</p>
<p>很多朋友可能会问：工作这么忙，家庭生活琐事那么多，哪里还有什么时间读书呢？我又何尝不忙呢，每天8小时工作，周末还要陪果果。这里的关键还是要有坚定的读书信念，养成良好读书习惯，就好比一日三餐那样，非读不可。另外还要不断提高读书效率，充分利用零散的时间。现在市面上电纸书(比如kindle、bambook)越来越成熟，便携性也越来越好，你可以把坐车、等车以及闲暇休息这些零散时间充分利用起来，一年下来你挤出来的时间也是惊人的。</p>
<p style='text-align:left'>&copy; 2011, <a href='https://tonybai.com'>bigwhite</a>. 版权所有. </p>
]]></content:encoded>
			<wfw:commentRss>https://tonybai.com/2011/12/22/book-list-i-have-read-in-2011/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>说书单2011.01.24</title>
		<link>https://tonybai.com/2011/01/24/booklist-2011-01-24/</link>
		<comments>https://tonybai.com/2011/01/24/booklist-2011-01-24/#comments</comments>
		<pubDate>Mon, 24 Jan 2011 13:17:00 +0000</pubDate>
		<dc:creator>bigwhite</dc:creator>
				<category><![CDATA[读书吧]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Blogger]]></category>
		<category><![CDATA[书单]]></category>
		<category><![CDATA[博客]]></category>
		<category><![CDATA[宇宙]]></category>
		<category><![CDATA[深入理解计算机系统]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[网购]]></category>
		<category><![CDATA[读书]]></category>

		<guid isPermaLink="false">http://tonybai.com/2011/01/24/%e8%af%b4%e4%b9%a6%e5%8d%952011-01-24/</guid>
		<description><![CDATA[<br />
2010年末的网上卖书大战进行的如火如荼，在这场大战初期我就低价收了《深入理解计算机系统》第二版，放在书柜里待有时间重温。记得当初还是在LP学校的图书馆里借到了这本书的第一版，并在第一个借阅期内看完了除第四章"处理器体系结构"之外的所有章节。之后又恋恋不...]]></description>
			<content:encoded><![CDATA[<p><p>2010年末的网上卖书大战进行的如火如荼，在这场大战初期我就低价收了《<a href="http://book.douban.com/subject/5333562/" target="_blank">深入理解计算机系统</a>》第二版，放在书柜里待有时间重温。记得当初还是在LP学校的图书馆里借到了这本书的第一版，并在第一个借阅期内看完了除第四章”处理器体系结构”之外的所有章节。之后又恋恋不舍，让LP续借了一次。我对这本书还真有一种相见恨晚的感觉，真遗憾我在大学期间怎么没发现这样一本好书呢。</p>
<p>网络卖书大战到现在也基本接近尾声了，不过我却又有了买书的冲动，也算是给自己的新春贺礼吧，春节长假也有好书来消遣了^_^。遂下午在亚马逊下了单（还有满99送畅销书的活动哦^_^）。书单如下：</p>
<p>《<a href="http://book.douban.com/subject/1775691/" target="_blank">少有人走的路:心智成熟的旅程</a>》，这本书<a href="http://www.dutor.net" target="_blank">dutor</a>推荐的，豆瓣上的口碑也不错，书不厚，比较符合现在的我的胃口；</p>
<p>《<a href="http://book.douban.com/subject/2284311/" target="_blank">苏菲的世界</a>》，这本书买来就是为了弥补高中和大学时未能读过这本书的遗憾，同时也算是哲学入门学习路上的一站吧。</p>
<p>卡尔&middot;萨根的《<a href="http://book.douban.com/subject/3374613/" target="_blank">宇宙</a>》，自从霍金的《<a href="http://book.douban.com/subject/1034282/" target="_blank">时间简史</a>》插图版后，似乎好久没有读这方面的科普读物了，这次想找回点感觉，让脑力在广袤无垠的宇宙里激荡一下。</p>
<p>《<a href="http://book.douban.com/subject/1446895/" target="_blank">电子设计从零开始</a>》和《<a href="http://book.douban.com/subject/4240316/" target="_blank">电子电气工程师必知必会</a>》2nd让我重新拾起了老本行。我非计算机科班出身，大学是学电子电路相关专业的，后因着迷计算机编程而忽视了本专业的学习。现在计算机是主业了，电子电路反倒成兴趣了^_^。</p>
</p>
<p style='text-align:left'>&copy; 2011, <a href='https://tonybai.com'>bigwhite</a>. 版权所有. </p>
]]></content:encoded>
			<wfw:commentRss>https://tonybai.com/2011/01/24/booklist-2011-01-24/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>说书单2009.10.28</title>
		<link>https://tonybai.com/2009/10/28/booklist-2009-10-28/</link>
		<comments>https://tonybai.com/2009/10/28/booklist-2009-10-28/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 15:03:22 +0000</pubDate>
		<dc:creator>bigwhite</dc:creator>
				<category><![CDATA[读书吧]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Blogger]]></category>
		<category><![CDATA[世界是平的]]></category>
		<category><![CDATA[书单]]></category>
		<category><![CDATA[博客]]></category>
		<category><![CDATA[毛泽东传]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[网购]]></category>
		<category><![CDATA[读书]]></category>

		<guid isPermaLink="false">http://tonybai.com/2009/10/28/%e8%af%b4%e4%b9%a6%e5%8d%952009-10-28/</guid>
		<description><![CDATA[<p>十月以来，自已通过网购或换购还真收了不少书，这里说说：<br /><br />国内关于伟大领袖毛主席的传记实在让我无法提起兴致，但哈佛大学教授Ross Terrill的《毛泽东传》我早在其出版时就关注过，它可以让我弄清楚毛主席在一个西方人眼中的事实形象。昨天偶然发现该书在卓越网的卖价居然比其他网店（诸如当当网）便宜近十元，这个&#8220;便宜&#8221;怎能不捡^_^，遂在昨天下了订单。今天再一看卓越的定价居然涨到了35.8元，涨了仅5元，不过还是比其他网店要便宜。<br /><br />说到传...</p>]]></description>
			<content:encoded><![CDATA[<p>十月以来，自已通过<a href="http://tonybai.com/2007/11/15/buy-book-on-internet-for-the-first-time/" target="_blank">网购</a>或换购还真收了不少书，这里说说：</p>
<p>国内关于伟大领袖毛主席的传记实在让我无法提起兴致，但哈佛大学教授Ross Terrill的《<a href="http://www.douban.com/subject/1485628/" target="_blank">毛泽东传</a>》我早在其出版时就关注过，它可以让我弄清楚毛主席在一个西方人眼中的事实形象。昨天偶然发现该书在<a href="http://www.amazon.cn" target="_blank">卓越网</a>的卖价居然比其他网店（诸如<a href="http://www.dangdang.com" target="_blank">当当网</a>）便宜近十元，这个&ldquo;便宜&rdquo;怎能不捡^_^，遂在昨天下了订单。今天再一看卓越的定价居然涨到了35.8元，涨了仅5元，不过还是比其他网店要便宜。</p>
<p>说到传记，就不能不提到最近卖的很火一本传记书-前Google中国区负责人李开复的新书 《<a href="http://www.douban.com/subject/4010196/" target="_blank">世界因你不同 李开复自传</a>》。以前读过李开复的《<a href="http://www.douban.com/subject/1427679/" target="_blank">做最好的自己</a>》，感觉很不错，所以这次也这本新书列入了购物车中。同时我也的确想通过李开复的书或多或少的去了解一下像微软、Google这样的大公司的一些运作&ldquo;内幕&quot;^_^。</p>
<p>今天在中国移动积分商场看到一套丛书套装《<a href="http://www.douban.com/subject/2103573/" target="_blank">世界艺术瑰宝</a>》很是动心，遂让同事先帮忙用2170积分换购下来（我的积分还差100多）。丛书共六册，均为全彩印刷，主要留作日后陶冶艺术情操、提升品位、家庭教育和旅游规划之用。</p>
<p>&ldquo;灵修&rdquo;二字我也是第一次遇到，十月初网购的一本名为《<a href="http://www.douban.com/subject/3158482/" target="_blank">新世界 灵性的觉醒</a>》就是此类书籍。书的作者在西方很有名，同时也是一个怪人。书还没开始看（还未做好心理准备^_^），初略翻阅了一下，觉得有些难度，或多或少的会折腾一下你的大脑神经的。</p>
<p>《<a href="http://www.douban.com/subject/3908032/" target="_blank">怪诞心理学</a>》和《<a href="http://www.douban.com/subject/3353860/" target="_blank">思维风暴</a>》与&ldquo;新世界&rdquo;一书一起到手，前者是为了尝试了解一些大众心理学的内容，花了两个等晚点航班的时间段就翻阅完了；后者则纯粹为了让自己的大脑保持活跃的。</p>
<p>现在已是深秋近初冬季节，在暖气未供给之前，北方的屋内也都是冷冷的、湿湿的。捂在暖暖的被窝儿中看书那是何等的快哉。捧在我手中的这本《<a href="http://www.douban.com/subject/1867642/" target="_blank">世界是平的</a>》 自从07年从书刊批发市场买回后只看了一半，现在正以每天一章的速度阅读着，估计这周就能欣赏完这部三年前的名作了。如果再不快看，里面的一些观点可能就要过时了^_^。</p>
<p style='text-align:left'>&copy; 2009, <a href='https://tonybai.com'>bigwhite</a>. 版权所有. </p>
]]></content:encoded>
			<wfw:commentRss>https://tonybai.com/2009/10/28/booklist-2009-10-28/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>网上淘二手书</title>
		<link>https://tonybai.com/2009/04/21/buy-second-hand-books-on-the-internet/</link>
		<comments>https://tonybai.com/2009/04/21/buy-second-hand-books-on-the-internet/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 14:26:53 +0000</pubDate>
		<dc:creator>bigwhite</dc:creator>
				<category><![CDATA[读书吧]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Blogger]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[China-pub]]></category>
		<category><![CDATA[博客]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[网购]]></category>
		<category><![CDATA[读书]]></category>

		<guid isPermaLink="false">http://tonybai.com/2009/04/21/%e7%bd%91%e4%b8%8a%e6%b7%98%e4%ba%8c%e6%89%8b%e4%b9%a6/</guid>
		<description><![CDATA[计算机类图书"贵"就一个字，而且计算机领域知识更新快、新书迭出；程序员们为了跟上知识更新的步伐，不得不花上大把银子采购图书，久而久之，哪个程序员的家里没有几箱子书呢^_^。以前我买书的哲学也是非新书不买，但自从同事告诉我互动出版网有"二手书"可淘之后，我就渐渐喜欢上网上淘二手书了。<br /><br />China-pub上所谓的"二手书"，实际上和新书也没差多少，基本都在9成新，有些书可以说还是&#8220;崭新&#8221;的，但是这些二手书的价格却是出奇的低，一般网店新书都是7折以上，而这些二...]]></description>
			<content:encoded><![CDATA[<p>计算机类图书&quot;贵&quot;就一个字，而且计算机领域知识更新快、新书迭出；程序员们为了跟上知识更新的步伐，不得不花上大把银子采购图书，久而久之，哪个程序员的家里没有几箱子书呢^_^。以前我买书的哲学也是非新书不买，但自从同事告诉我<a href="http://www.china-pub.com/" target="_blank">互动出版网</a>有&quot;二手书&quot;可淘之后，我就渐渐喜欢上网上淘二手书了。</p>
<p>China-pub上所谓的&quot;二手书&quot;，实际上和新书也没差多少，基本都在9成新，有些书可以说还是&ldquo;崭新&rdquo;的，但是这些二手书的价格却是出奇的低，一般网店新书都是7折以上，而这些二手书大多仅是四折。以前买一本书的价钱，现在基本上可以买上三本，这足以给你带来消费的冲动。不过目前只有三星以上的China-pub会员才有淘二手书的&quot;权力&quot;；虽说我早早就在China-pub注册了会员，但因购书量少，至今还只是一星，所以网上淘书也只能通过同事那边的渠道。二手书中不乏好书，比如机械工业的&quot;计算机科学丛书&quot;系列、华章程序员书库系列等，关键在于&ldquo;淘&rdquo;。经常到China-pub的<a href="http://www.china-pub.com/sale/usedbook.aspx" target="_blank">&quot;二手书&quot;区</a>翻翻，说不定你就能找到你心仪已久的好书。</p>
<p>今天到手三本&quot;二手书&quot;，分别是&quot;<a href="http://www.douban.com/subject/1852515/?i=0" target="_blank">计算理论导引</a>&quot;、&quot;<a href="http://www.douban.com/subject/2187860/" target="_blank">程序员密码学</a>&quot;和&quot;<a href="http://www.douban.com/subject/1896663/?i=2" target="_blank">Algorithms IN C, Graph algorithms</a>&quot;，三本书加在一起才50元，要知道如果是新书的话，仅一本&ldquo;Algorithms IN C&rdquo;定价就50元。</p>
<p style='text-align:left'>&copy; 2009, <a href='https://tonybai.com'>bigwhite</a>. 版权所有. </p>
]]></content:encoded>
			<wfw:commentRss>https://tonybai.com/2009/04/21/buy-second-hand-books-on-the-internet/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>读&#039;代码修改艺术&#039;，可观其大略</title>
		<link>https://tonybai.com/2007/11/09/know-its-general-aspects-when-reading-working-effectively-with-legacy-code/</link>
		<comments>https://tonybai.com/2007/11/09/know-its-general-aspects-when-reading-working-effectively-with-legacy-code/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 09:21:08 +0000</pubDate>
		<dc:creator>bigwhite</dc:creator>
				<category><![CDATA[读书吧]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Programmer]]></category>
		<category><![CDATA[博客]]></category>
		<category><![CDATA[感悟]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[程序员]]></category>
		<category><![CDATA[笔记]]></category>
		<category><![CDATA[读书]]></category>
		<category><![CDATA[重构]]></category>

		<guid isPermaLink="false">http://tonybai.com/2007/11/09/%e8%af%bb%e4%bb%a3%e7%a0%81%e4%bf%ae%e6%94%b9%e8%89%ba%e6%9c%af%ef%bc%8c%e5%8f%af%e8%a7%82%e5%85%b6%e5%a4%a7%e7%95%a5/</guid>
		<description><![CDATA[书是因为看到了&#34;Legacy
Code&#34;这两个单词了，说实话当时我并不知晓这本书的价值，只是想当然的认为：这本书可能会有助我改善我所从事的项目中的&#34;Legacy
Code&#34;。早在上个月去逛书店时，就看到了书架上的这本&#34;修改代码的艺术&#34;，遗憾的是没有给予足够关注。在最近看到这本书译者刘未鹏的博客以及
Dreamhead关于这本书的评价后，才又从电脑中找到这本书开始翻看。从与这本书几次&#34;擦身而过&#34;的经历来看，自己识书的能力实在是差劲。]]></description>
			<content:encoded><![CDATA[<p>早在几个月前就从网上下载到了&quot;Working Effectively With Legacy Code&quot;这本书的E版，之所以下这本书是因为看到了&quot;Legacy Code&quot;这两个单词了，说实话当时我并不知晓这本书的价值，只是想当然的认为：这本书可能会有助我改善我所从事的项目中的&quot;Legacy Code&quot;。早在上个月去逛书店时，就看到了书架上的这本&quot;修改代码的艺术&quot;，遗憾的是没有给予足够关注。在最近看到这本书译者<a href="http://blog.csdn.net/pongba">刘未鹏</a>的博客以及<a href="http://dreamhead.blogbus.com">Dreamhead</a>关于这本书的评价后，才又从电脑中找到这本书开始翻看。从与这本书几次&quot;擦身而过&quot;的经历来看，自己识书的能力实在是差劲。</p>
<p>我需要这本书，首先是因为我目前的项目中就有大量大量的&quot;Legacy Code&quot;，所以我已经开始迫不及待的想看完这本书了。但是翻看一些后，我觉得作为使用C的开发者独观其大略即可。为什么呢？书中代码多以面向对象的语言Java或C++作为例子代码，很多细节对使用结构化语言的开发者意义不大。毕竟结构化的思想与面向对象的思想有着较大的差别。</p>
<p>作者提出来的修改软件的四个起因基本上大家都是应该认同的：<br />(1) 添加新特性；<br />(2) 修正bug；<br />(3) 改善设计；<br />(4) 优化资源使用。</p>
<p>同时作者又给出了为了减少修改行为带来的风险而应该考虑的三个问题：<br />(1) 我们要进行哪些修改？<br />(2) 我们如何得知已经正确地完成了修改？<br />(3) 我们如何得知没有破坏任何(既有的)东西？</p>
<p>在第一部分第二章的最后作者给出了一个解决这些问题的算法：<br />以下算法可以用于对遗留代码基进行修改：<br />(1) 确定改动点；<br />(2) 找出测试点；<br />(3) 解依赖；<br />(4) 编写测试；<br />(5) 修改、重构。</p>
<p>看完这些我觉得就可以直接进入第二部分了，作者给出了细致的、具体的面对不同情形应该如何去做。建议：在读每一个章节之前先回顾一下自己是否遇到过类似情形，自己当时是如何做的，当时的做法是否有改善的地方，哪些是值得发扬广大的，哪些是应该摒弃的，如果是现在我还会如何去做？之后，再看看Michael Feathers是如何去做的，这样效果应该是很好的。有如下这些情形值得我们去考虑：<br />(1) I Don&#8217;t Have Much Time and I Have to Change It 时间紧迫，但必须修改 <br />(2) It Takes Forever to Make a Change 漫长的修改<br />(3) How Do I Add a Feature? 添加特性<br />(4) I Can&#8217;t Get This Class into a Test Harness 无法将类放入测试用具中<br />(5) I Can&#8217;t Run This Method in a Test Harness 无法在测试用具中运行方法<br />(6) I Need to Make a Change. What Methods Should I Test? 修改时应当测试哪些方法<br />(7) I Need to Make Many Changes in One Area. Do I Have to Break Dependencies for All the Classes Involved? 在同一地进行多处修改，是否应该将相关的所有类都解依赖<br />(8) I Need to Make a Change, but I Don&#8217;t Know What Tests to Write 修改时应该怎样写测试 &nbsp;<br />(9) Dependencies on Libraries Are Killing Me 棘手的库依赖问题<br />(10) My Application Is All API Calls 到处都是API调用&nbsp; &nbsp;<br />(11) I Don&#8217;t Understand the Code Well Enough to Change It 对代码的理解不足<br />(12) My Application Has No Structure 应用毫无结构可言<br />(13) My Test Code Is in the Way 测试代码碍手碍脚&nbsp; &nbsp;<br />(14) My Project Is Not Object Oriented. How Do I Make Safe Changes? 对非面向对象的项目，如何安全地对它进行修改<br />(15) This Class Is Too Big and I Don&#8217;t Want It to Get Any Bigger 处理大类<br />(16) I&#8217;m Changing the Same Code All Over the Place 需要修改大量相同的代码<br />(17) I Need to Change a Monster Method and I Can&#8217;t Write Tests for It 要修改一个巨型方法，却没法为它编写测试 <br />(18) How Do I Know That I&#8217;m Not Breaking Anything? 降低修改的风险<br />(19) We Feel Overwhelmed. It Isn&#8217;t Going to Get Any Better 当你感到绝望时 </p>
<p>当你看到这些具体情形的列表，眼前是否浮现出是曾相识的经历呢？&quot;代码修改艺术&quot;应该说是一本实用主义的书，如果你是使用面向对象语言的程序员，那你很幸运，建议你将一本&quot;修改代码的艺术&quot;放在你的办工桌旁，随时翻看、思考和领悟；如果你和我一样是结构化语言的使用者，也没有关系，观其大略，品其思想，细读你兴致之所在。</p>
<p>以上的书中文字的中文翻译部分摘自于刘未鹏的中文译文。</p>
<p style='text-align:left'>&copy; 2007, <a href='https://tonybai.com'>bigwhite</a>. 版权所有. </p>
]]></content:encoded>
			<wfw:commentRss>https://tonybai.com/2007/11/09/know-its-general-aspects-when-reading-working-effectively-with-legacy-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>设计心理学</title>
		<link>https://tonybai.com/2007/05/21/the-design-of-everyday-things/</link>
		<comments>https://tonybai.com/2007/05/21/the-design-of-everyday-things/#comments</comments>
		<pubDate>Mon, 21 May 2007 10:59:40 +0000</pubDate>
		<dc:creator>bigwhite</dc:creator>
				<category><![CDATA[读书吧]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Blogbus]]></category>
		<category><![CDATA[博客]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[设计心理学]]></category>
		<category><![CDATA[读书]]></category>

		<guid isPermaLink="false">http://tonybai.com/2007/05/21/%e8%ae%be%e8%ae%a1%e5%bf%83%e7%90%86%e5%ad%a6/</guid>
		<description><![CDATA[其实说到&#039;设计心理学&#039;，自己还没资格谈，按照&#039;疯狂的时候&#039;里的说法&#039;自己还不够专业&#039;，今天说到它，是另有原因的，下面道来。]]></description>
			<content:encoded><![CDATA[<p>其实说到&#039;设计心理学&#039;，自己还没资格谈，按照&#039;疯狂的时候&#039;里的说法&#039;自己还不够专业&#039;，今天说到它，是另有原因的，下面道来。</p>
<p>周末写了一篇未完的blog，今早趁机将其补充完整并予以发布，不过在发布时发现Blogbus的一处问题：即我在发布文章页面的分类下拉框中居然找不到我若干月前就已经增加了的分类，以致我无法选择对应的分类就发布了。事后我问及Blogbus的客服小伙:<a target="_blank">TTSummer</a>，在一番问题陈述之后，TTSummer马上联系了开发人员，很快给了我答复：Blogbus的分类列表项最多支持20个Item，接着他说他们开发人员马上就修改这个问题，将最大表项数目增加到25个。在中午十分这个问题解决了。从这件事里看得出Blogbus的客服还是很好的，表扬一下TTSummer，呵呵。</p>
<p>之后我也和TTSummer谈了我对这件事的想法，因为我也是软件设计开发人员，也遇到过类似的问题。我不清楚Blogbus是如何实现这个列表的，也不知道列表项目多少是否影响系统资源的占用或者影响美观之类的，也不知道Bus的设计人员为什么初始时设置了20这个数字，但是在软件开发领域有这样一条潜规则：软件开发中最大的不变量就是变化。一切皆有可能，其实我在平时开发中也是有想当然的时候，比如认为用户不能怎么做，不会怎么做，但是事实上用户是不给你面子的，他偏偏就那么做了。TTSummer反驳了我一句，也许是从他客服的角度理解的吧：&#039;有时候给用户的更多，反而会让用户无所适从&#039;，他还说到：&#039;这个是设计心理学的问题咯&#039;。就这样我们谈到了设计心理学。其实后来TTSummer给我解释了他们的这个列表数目是根据一段时间运行后的统计来修改的，这也算是折衷的一个好方法。但是理论上是应该允许用户无限增加的，blogbus在分类管理页面并没有给用户明确提示只允许添加20个分类表项，那么既然没有明确说明，我添加了第21个就应该给我显示出来，这里说来说去也涉及到了与用户交互设计的这个问题，不知道算不算是&#039;设计心理学&#039;的范畴。</p>
<p>如果是Blogbus的老用户，大家都知道blogbus的后台程序做了很多次升级，其中一次就是增加了分类功能和分类批量修改工具，因为此前的blogbus只是支持Tag，而不支持分类，像我这样的用户都是用Tag来替代分类对文章进行管理的。当分类功能被推出后，我势必要对我的文章重新进行分类管理，最简洁的方法就是做Tag到分类的一一对应。而Tag一般都有很多，超过20个也是很正常的事情，这时像Bus这样只支持20个分类表项的问题就会暴露，还好那时我的分类没有这么多，所以也就没有发现该问题，呵呵。</p>
<p>谈到&#039;设计心理学&#039;，TTSummer说其正在看那本有名的&#039;The Design of everyday things&#039;，中文翻译为：<a href="http://www.douban.com/subject/1288844/" target="_blank">设计心理学</a>，这本书我是只有电子版的，下了之后就扔在电脑里，也没有时间看，呵呵，没有时间啊，也没什么办法。今天还和TTSummer说到：&#039;人长大后烦心事太多了，时间就这样被肢解了，除了必要的睡眠外，留给看书的时间就太少了&#039;这样的牢骚话。^_^</p>
<p>平时和TTSummer的交流应该不算少，作为Bus的用户，在交流中逐渐体会到：服务的提供者和服务使用者需要共同改进，互相体谅，做到双赢，只有服务商提供更加优良的服务，服务使用者才会得更优良的服务；服务使用者体会到优良服务后，服务提供商的口碑越好，其使用者也就会越来越多，在IT行业口碑一样很重要；相反一出现问题就骂个不停，那可决不是解决问题的正确方法。</p>
<p>有些文不对题，看题目好象是一篇技术类文章，其实不然啊，呵呵。</p>
<p style='text-align:left'>&copy; 2007, <a href='https://tonybai.com'>bigwhite</a>. 版权所有. </p>
]]></content:encoded>
			<wfw:commentRss>https://tonybai.com/2007/05/21/the-design-of-everyday-things/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#039;Write Great Code&#039;书中的一处错误</title>
		<link>https://tonybai.com/2006/12/26/an-error-of-write-great-code/</link>
		<comments>https://tonybai.com/2006/12/26/an-error-of-write-great-code/#comments</comments>
		<pubDate>Tue, 26 Dec 2006 02:04:28 +0000</pubDate>
		<dc:creator>bigwhite</dc:creator>
				<category><![CDATA[读书吧]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[博客]]></category>
		<category><![CDATA[读书]]></category>

		<guid isPermaLink="false">http://tonybai.com/2006/12/26/write-great-code%e4%b9%a6%e4%b8%ad%e7%9a%84%e4%b8%80%e5%a4%84%e9%94%99%e8%af%af/</guid>
		<description><![CDATA[今天看中文版'Write Great Code'第3.4.4小节的时候发现作者的一处笔误，估计应该是笔误。]]></description>
			<content:encoded><![CDATA[<p>今天看中文版&#8217;Write Great Code&#8217;第3.4.4小节的时候发现作者的一处笔误，估计应该是笔误。</p>
<p>第3.4.4小节讲的是如何使用&#8217;位与&#8217;创建一个模-n的计数器(modulo-n counters)，在其举例中，作者意图创建一个模-32的计数器，按照作者的理论，建立一个模-32的计数器，需要这样一个&#8217;位与掩码&#8217;，n = 2^5-1 = 31，31的十六进制应该是0x1f，而作者一时失误将之写成了0x3f(63d)，显然这是个模-64的计数器。中文版的翻译显然也没有发现这处笔误，这里提醒大家看书时注意一下^_^。我已经在<a href="http://www.china-pub.com" target="_blank">chinapub</a>上提交了勘误。</p>
<p style='text-align:left'>&copy; 2006, <a href='https://tonybai.com'>bigwhite</a>. 版权所有. </p>
]]></content:encoded>
			<wfw:commentRss>https://tonybai.com/2006/12/26/an-error-of-write-great-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
