Web Analytics

你应该关心你的代码

本文翻译自”You Gotta Care about the Code“,来自于《程序员应该知道的97件事》一书中的某个章节。 即使不用大侦探福尔摩斯,我们也能知道优秀的程序员能写出好代码。糟糕的程序员…则不能。他们生产出代码巨兽,而其他人则不得不去清理。你想写出好代码,对不对?你渴望成为一名优秀的程序员。 ...

March 22, 2011 · 3 min · Tony Bai

通过精减来改善代码

本文翻译自"Improve Code by Removing It",来自于《程序员应该知道的97件事》一书中的某个章节。 少即是多。这是一句有些陈腐的短小格言,但有时它确实是正确的。 在过去的几周里我对代码库所作的改善工作之一就是删除了其中的几大块代码。 ...

March 17, 2011 · 2 min · Tony Bai

知道如何使用命令行工具

本文翻译自”Know How to Use Command-line Tool“,来自于《程序员应该知道的97件事》一书中的某个章节。 现今,很多软件开发工具被打包成集成开发环境(Integrated Development Environments,IDE)提供给开发者。微软的Visual Studio和开源的Eclipse就是两个颇受欢迎的IDE,当然还有很多其他类似的工具。很多程序员喜欢使用IDE,这不仅是因为IDE容易使用,而且IDE还可以让程序员无需过多考虑一些过程中的微小细节,特别是构建过程。 ...

March 16, 2011 · 3 min · Tony Bai

Review Board的几点使用体会

近期产品线研发体系正式将Review Board这款优秀的基于Web的代码评审开源工具引入到开发过程中,作为产品线内各项目组进行代码评审的辅助工具。我对Review Board近两年多的关注总算没有白费,算是有了一个还算不错的结果。不过Review Board的正式使用并不代表一种结束,反而恰恰是一个新的开始。我们下一步要关注的是如何用好Review Board,让它真真正正地为改善产品质量和开发效率出力。 ...

March 4, 2011 · 6 min · Tony Bai

专业程序员

本文翻译自"The Professional Programmer",来自于《程序员应该知道的97件事》一书中的某个章节。 什么是专业程序员? 一个专业程序员的唯一的、最重要的特点是个人的责任。专业程序员会对他们的职业生涯负责,会对他们的估计负责,会对他们的计划承诺负责,会对他们的错误负责,会对他们的技艺负责。一个专业程序员绝不会将他们的责任推到其它人身上。 ...

February 24, 2011 · 3 min · Tony Bai

持续学习

本文翻译自"Continuous Learning",来自于《97 Things Every Programmer Should Know》一书中的某个章节。 我们生活在一个引人入胜的时代。软件开发分布在全球各地,你知道那里有很多人可以胜任你的工作。你需要不断学习以保持你在市场上的竞争力。否则,你将变成一条恐龙,专心从事某一个工作,直到有一天,你不再被需要或者你的工作被外包给了其它更为廉价的开发人员。 ...

February 23, 2011 · 3 min · Tony Bai

代码评审

本文翻译自"Code Reviews",来自于《97 Things Every Programmer Should Know》一书中的某个章节。 你应该做代码评审。为什么呢?因为代码评审可以提高代码质量并且降低缺陷比例。但进行代码评审未必是因为你想到的那些理由。 由于之前有过一些代码评审的糟糕体验,因此许多程序员不喜欢代码评审。我曾经见过一些组织,它们要求所有代码在部署到生产环境之前必须通过一个正式的评审。多数情况下由架构师或一名主程序员进行这些评审,这种做法被戏称为“架构师评审一切”。这个要求被写在了他们的软件开发过程手册中,因此程序员必须遵守。可能有一些组织的确需要这样一个严格且正式的过程,不过大多数组织并不需要。在大多数组织中,这样做法只会适得其反。被评审者会感到他们就像是在等待一个假释裁决委员会的判决。而评审者既需要时间阅读源码,还需要时间跟上系统的最新进展,了解系统的全部细节。评审者很快就成为了这个过程的瓶颈。而这个过程也会很快地成为众矢之的并变得愈加糟糕。 ...

February 22, 2011 · 3 min · Tony Bai

把一切都纳入版本控制

本文翻译自"Put Everything Under Version Control",来自于《97 Things Every Programmer Should Know》一书中的某个章节。 把项目中的一切都纳入版本控制。你需要的资源包括:免费的工具,比如Subversion,Git,Mercurial和CVS;充足的磁盘空间;便宜且性能强大的服务器;无处不在的网络;甚至包括项目托管服务。安装好版本控制软件后,为了将你的工作成果放入版本库中,你所要做仅仅是在一个包含你的代码的干净目录中敲入适当的命令。你只需要学习两个新操作:将你修改的代码提交到版本库中以及将版本库中的代码更新到你本地的工作版本中。 ...

February 18, 2011 · 3 min · Tony Bai

将你的编码标准自动化

本文翻译自”Automate Your Coding Standard“,来自于《97 Things Every Programmer Should Know》一书中的某个章节。 也许你也曾经经历过。在一个项目开始阶段,每个人都有着很多良好的意愿,我们称这些意愿为“新项目决议”。多数情况下,这些决议都会被记在文档中。关于代码的那些决议最终成了项目的编码标准。在项目启动会议上,主程序员带着大家一起浏览一遍文档,最好的情况下,大家都同意在项目中遵照这些标准。不过一旦项目开始,这些良好的意愿就被丢弃了,每次一个。当最终项目交付的代码看起来一团糟的时候,似乎没有人知道项目是怎么变成这个样子的。 ...

February 16, 2011 · 3 min · Tony Bai

在你重构之前

本文翻译自"Before You Refactor",来自于《97 Things Every Programmer Should Know》一书中的某个章节。 在某些时候,每个程序员都需要重构现有的代码。不过在你动手之前,请考虑一下下面的内容,因为这可以节省你和他人的大量时间(以及痛苦)。 · 重构开始的最好方式就是对现有代码库及其测试代码进行总结和评估。 ...

February 15, 2011 · 2 min · Tony Bai