《高效能程序员的修炼》一导读

译者序

高效能程序员的修炼
出版社的冀康一开始来找我谈翻译这本书的时候,我的第一反应是:这兄弟真是不知道我现在有多忙!我每天要处理200多封邮件;在资源有限的情况下经常要同时带6~7个项目,而且每个项目的交付计划都很紧,压力很大;每天起码工作12个小时,有时候还要熬夜跟美国同事开会;周六基本上也是工作状态……我哪里还有空来翻译书?!

后来,当我了解到这本书的作者是Stack Overflow网站的创始人Jeff Atwood,还有书的内容实际上就是从作者的博客网站Coding Horror精选而来的文章时,我开始有些心动了。Jeff的成就是值得尊敬的!这本书的主题和风格也是我喜欢的:一篇一个话题,针对性很强,讲的都是我们程序员自己的事。据说篇篇都很受人关注,引来读者评论无数。我的好奇心愈加强烈了:Jeff都说了些什么呢?好惭愧,我以前居然都没读过他的文章!

做吧!我一定能从Jeff的这本书里学到不少东西。而且,既然这些东西这么好,我一定要把它们介绍给更多的中国读者。时间哪里来?挤呗!时间是挤出来的!于是,我把所有的零碎时间都利用上了:陪儿子上早教课时在教室外守候的时间、午后休息的时间、晚上睡觉之前、坐地铁时、外出办事等候的时间甚至去美国出差和去泰国度假的途中……这本书就是这么“挤”出来的!

再说说这本书的内容吧。其实得先说说Jeff其人。他无疑是一位杰出的程序员。那是因为他写代码很厉害吗?其实,他在第1章就指出了,“成为一名杰出的程序员其实跟写代码没有太大的关系。做程序员确实需要一些技术能力,当然,还要有坚韧不拔的精神。但除此之外,更重要的还是要有良好的沟通技巧”。所以,这本书不是讲某种特定的编程语言的,也没有涉及太多具体的代码问题。因为Jeff认为,“如果要研究软件开发艺术,单纯研究代码是不够的”;他更多关注的是软件开发过程中的人文因素。因此,本书涵盖的主题非常广泛,包括对程序员的素养、做事方法、价值观的探讨,也谈到了编程风格、软件测试、团队合作、用户体验、社区管理、网络安全、市场营销等方面的问题。书中的很多观点并不是Jeff独创的,但他旁征博引、博采众长,把许多很棒的东西汇聚在一起,给读者奉上了一顿饕餮大餐。

Jeff 给我们指明了“程序员的八种境界”。他还在第2章中指出:作为程序员,大家不能只顾着埋头写代码。任何能让你成为一名更好的程序员的事情都值得去关注,别担心你会因此而分心、少写了N行代码,因为磨刀不误砍柴工。

Jeff是我们学习的榜样。这本书特别适合初入行的程序员阅读。对于已经工作过几年但碰到了发展瓶颈而倍感迷茫的老程序员来说,这也是一本极好的读物。我们不能总是低着头走路,而要时时抬起头看看路。希望Jeff的这本书能为你指点迷津。

本书的前半部分由张健翻译,后半部分由我翻译。张健是我大学时候隔壁寝室的兄弟。谁也不曾料到,十几年后的今天我们会有这样的一次合作。张同学平时工作也很忙,久居海外,对中文表达已有些许生疏。他翻译的部分我帮忙做了些润色,以保证全书有较为一致的风格。我们还在翻译的过程中添加了大量的“译者注”,这些背景知识往往都很生动,有助于读者更全面地理解原书的内容,也是本书的看点之一。

翻译工作历时半年,译稿几经修改——翻译一遍,再修改至少三遍——交稿时我虽已尽心竭力而问心无愧,但我相信书中还有很多地方可以改进。努力永无止境!感谢冀康给我这次机会,让我翻译这么棒的一本书。感谢Jeff在翻译过程中给予的支持,他对我的问题回复得很及时,还提供了很多额外的信息。同时也要感谢我的爱人谭洁红,她帮忙做了些美工,还审阅了部分译稿,在文字表达方面给我提出了很多建议。这么多感激之余,其实我还有些愧疚,因为半年来我很少有时间去陪我的儿子豆豆。令我感到欣慰的是,当我向他解释爸爸在忙什么时,他能够理解,然后一个人乖乖地去睡觉。而他以前是要在床上听我给他讲完一个故事后才入睡的……

写书或翻译书都很辛苦!我不得不牺牲很多业余时间,也少了跟家人交流的机会。每次我都对自己说,“这是最后一次了!”是吗?也许吧……关于本书的内容或者翻译上的问题,需要跟我交流的话,请爱特我吧。我的新浪微博:豆巴陆其明。

目 录

第1章 入门须知
你想成为一个程序员
程序员的八种境界
如何培养写作习惯
第2章 把一堆烂事搞定的艺术
学海无边
磨刀不误砍柴工
一路向前冲
关于多任务的神话
第3章 高效编程之原则
第一条法则:永远都是你的错
大道至简
避免写注释
学会读源代码
向橡皮鸭求助
创新以人为本
你的团队能通过电梯测试吗
性能致胜
第4章 招聘程序员须得其法
第5章 促使团队紧密协作
第6章 蝙蝠洞:程序员的高效工作场所
第7章 设计时要把用户放在心上
第8章 安全基础:保护用户数据
第9章 加强代码测试,别让它太差劲
第10章 创建并管理社区,同时从中受益
第11章 揭露营销伎俩,以及如何规避
第12章 轻重缓急,了然于心

时间: 2024-09-21 08:20:41

《高效能程序员的修炼》一导读的相关文章

《TCP/IP路由技术(第二卷)》一导读

前 言 TCP/IP路由技术(第二卷)自从出版了<TCP/IP路由技术(第一卷)>之后,虽然Cisco Press"CCIE职业发展系列"中增加了大量新书,而且CCIE计划本身也被扩展到多个专业领域,但IP路由协议仍然是所有准CCIE们的核心基础.因此,必须透彻地对其加以理解和掌握,否则基础不牢,大厦将倾. 我在<TCP/IP路由技术(第一卷)>的前言中曾经说过,"--随着互联网络规模和复杂性的不断增大,路由问题也随即变得庞大且错综复杂".由

《TCP/IP路由技术(第二卷)》一1.4 配置EGP

1.4 配置EGP TCP/IP路由技术(第二卷) 通过以下4个基本步骤即可完成路由器上的EGP配置. 第1步:利用命令autonomous-system指定路由器的AS. 第2步:利用命令router egp启动EGP进程并指定邻居的AS. 第3步:利用命令neighbor指定EGP邻居. 第4步:指定由EGP宣告的网络. 下面的第一个案例研究将详细解释前3个配置步骤,同时也给出了步骤4的多种实现方法. 1.4.1 案例研究:EGP末梢网关 图1-10给出了一台位于AS 65502的EGP末梢

《TCP/IP路由技术(第二卷)》一1.9 配置练习题

1.9 配置练习题 TCP/IP路由技术(第二卷) 本书附录E中提供了以下配置练习题的答案. (1)图1-14中的自治系统65531是一个核心AS,请在RTA和RTB上配置EGP,要求如下: 不要将AS内的数据链路宣告给任何外部邻居. RTA将连接在其S1接口上的网络宣告给RTB:另外,要求RTA和RTB之间不能宣告其他AS间链路. RTA和RTB向其外部邻居(除了从其他自治系统学习到的网络)宣告默认路由,而且这两个网关都不得将默认路由宣告给其内部邻居. (2)例1-26给出了图1-15中RTC

《TCP/IP路由技术(第二卷)》一1.1 EGP的起源

1.1 EGP的起源 TCP/IP路由技术(第二卷)在20世纪80年代早期,构成ARPANET(现代互联网的前身)的路由器(网关)设备上都运行了一种距离向量路由协议--GGP(Gateway-to-Gateway Protocol,网关到网关协议).但是随着ARPANET的不断发展,与当今许多负责管理日益增长的互联网络的网管员一样,ARPANET的架构师们也预见到了相同的问题:现在运行的路由协议没有很好的扩展性. Eric Rosen在RFC 827中阐述了以下扩展性问题. 由于所有的网关都要知

《TCP/IP路由技术(第二卷)》一1.6 附 注

1.6 附 注 TCP/IP路由技术(第二卷)1Eric Rosen,"RFC 827:外部网关协议(EGP)". 2Linda J. Seamonson和Eric C. Rosen"RFC 888:'末梢'外部网关协议". 3D.L. Mills,"RFC 904:外部网关协议正式规范". 4J. Rekhter,"RFC 1092:EGP和新NSFNET骨干网的策略路由".

《TCP/IP路由技术(第二卷)》一1.5 检测与排除EGP故障

1.5 检测与排除EGP故障 TCP/IP路由技术(第二卷)在1.3节中已经解释了EGP为何无法应用于复杂的AS间拓扑结构,而强制性的简单拓扑结构带来了一个意外的好处,那就是EGP的故障检测和排除变得非常简单. 与其他路由协议一样,检测与排除EGP故障的第一步工作就是查看路由表.如果所请求的路由缺失或路由表中存在一条非期望路由,通过查看路由表就可以检测到问题的根源.由于EGP的度量值几乎没有任何意义,因而与其他路由协议相比,利用路由表进行EGP故障的检测和排除工作可以得到大大简化. 需要注意的是

《TCP/IP路由技术(第二卷)》一第1章 外部网关协议

第1章 外部网关协议 TCP/IP路由技术(第二卷)本章将主要讨论以下主题. • EGP的起源:本节将讨论在RFC 827(1982)中定义的外部网关协议的发展历史. • EGP的操作:本节将讨论EGP的基本操作机制,重点是EGP拓扑结构.EGP功能及EGP消息格式. • EGP的不足:本节将探讨为什么EGP不再是一种可行的外部网关协议解决方案. • 配置EGP:本节将通过4个独立的案例研究--EGP末梢网关.EGP核心网关.间接邻居和默认路由,来说明不同类型的EGP配置方法. • 检测和排除E

《TCP/IP路由技术(第二卷)》一1.7 展 望

1.7 展 望 TCP/IP路由技术(第二卷)本章不但说明了AS间路由协议的发明驱动力,也解释了EGP难以胜任该角色的原因.第2章将简要描述EGP的替代协议--边界网关协议及其操作.表1-10汇总了本章用到的所有命令.

《TCP/IP路由技术(第一卷)(第二版)》一导读

前 言 TCP/IP路由技术(第一卷)(第二版)路由技术即使在最小的数据通信网络中也是基本的要素.在某种程度上,路由技术和路由器的配置是相当简单的.但是,当网络的规模越来越大,并且越来越复杂的时候,路由选择问题就变得比较突出和难以控制了.或许,有点不恰当地说,作为一名网络系统顾问,我应该感谢当前出现的大规模路由技术难题,这些问题给了我谋生的手段.假设没有它们,"你何以为生?"这句习语可能就会不幸地成为我每天生活词汇的一部分了. Cisco认证互联网专家(CCIE)在大型网络的设计.故障

《TCP/IP路由技术(第一卷)(第二版)》一第1章 TCP/IP回顾1.1 TCP/IP协议层

第1章 TCP/IP回顾 TCP/IP路由技术(第一卷)(第二版)本章包括以下主题: TCP/IP协议层: IP包头(IP Packet Header): IPv4地址: 地址解析协议(ARP): Internet控制消息协议(ICMP): 主机到主机层. 考虑到这本书的书名是<TCP/IP路由技术>,有必要从回顾TCP/IP的基本知识开始讲起,然后再讲述如何进行TCP/IP路由选择.如果读者正在准备Cisco认证互连网专家(Cisco Certified Internetwork Exper