你是优秀程序员吗?

发表于:2014-03-27来源:酷勤网作者:不详点击数: 标签:程序员
你是优秀程序员吗? 如果有人要你推荐一名优秀的程序员,你会想到谁?你认为你自己是吗?你的评判标准是什么?

  如果有人要你推荐一名优秀的程序员,你会想到谁?你认为你自己是吗?你的评判标准是什么?

  In thinking about this, I realized that there are different ways that a programmer can be good. So I present to you The Four Kinds of Good Programmers. And in celebration of Whyday, I include quirky Why-styled illustrations* for your viewing pleasure!

  思考了这个问题,我意识到程序员可以以各种方式做到优秀。所以我向你推出“四种类型的优秀程序员”并附上插图。

  The Philosopher

  哲学家

  The philosopher loves to write well-defined, well-structured, beautiful code. That the program will be implemented is assumed; the elegance, robustness, and flexibility of the solution is where the philosopher’s energy goes. The philosopher cannot go an entire week without mentioning “best practices”.

  哲学家喜欢编写定义良好、结构良好的漂亮代码。程序构思好后,哲学家会花大量时间在方案的优雅性、健壮性和灵活性上。一个星期不谈“最佳实践”,哲学家就会觉得浑身不爽。

  Motivation

  动力

  The philosopher is ultimately driven by a need for safety and security which is expressed through tight control. A well-ordered, predictable system that always follows clear principles is the philosopher’s beautiful vision of heaven. Chaos is anathema. Beauty is found in order.

  严密控制带来安全,哲学家的终极动力源于此。组织良好的,可预测的系统,清晰的设计原则是哲学家的理想境界。混乱是绝对不能容忍的。秩序产生美。

  Superpowers

  超能力

  can build code that you can bet your life on

  ●能写出超级稳定的代码,稳定到你敢把命压上

  can create an environment where the codebase stays in pristine shape, regardless of the skills of other team members

  ●凭一人之力就能保持代码的清晰,不管其他团队成员的水平如何

  if they build it, it will scale

  ●代码的伸缩性好

  The Dark Side

  劣根性

  is always right

  ●自认为总是正确的

  gets into petty arguments about 80-column line limits

  ●连80列这种问题也要争论(译者注:老计算机的终端只能显示80列,为了让这些古老的终端阅读方便,写代码一般每行不超过80个字符,但随着显示器越来越大,这个原则变得可有可无)

  cares more about test coverage than customers’ problems

  ●关注测试覆盖率多于关注用户问题

  is never finished

  ●没完没了

  Pull Their Chain

  忌讳

  mix spaces and tabs

  ●空格和Tab混着用

  avoid atomic commits

  ●不遵守原子提交(译者注:原子提交的意思是,如果解决某个问题所修改的代码包含在多个文件中,那么这些文件需要一次性一起提交,这样可以保证任一时刻代码库的状态都是一致的)

  sign them up for improv

  ●给他们报名参加即兴表演

  The Inventor

  发明家

  Something quirky and cool is always coming out of the incessantly prolific inventor’s lab. No one asked for it, but that didn’t stop the inventor from making it.

  发明家的实验室源源不断地出产异想天开的好东西。没人求他们,他们就是自己想做。

  Motivation

  动力

  The inventor is driven by a need to explore and to birth something completely new and unique into the world. Curiosity compels the “what ifs” to actualize.

  发明家的动力来自探索和发明全新的事物。强烈的好奇心促使他们把假设变成现实。

  Superpowers

  超能力

  creates novel technology that is (sometimes) useful

  ●经常发明有用(或者将来有用)的新技术

  has infectious enthusiasm

  ●有感染力的狂热

  makes you say, “Gee, I never thought of using it in that way!”

  ●让你赞叹:“哇靠,这样玩也行?”

  The Dark Side

  劣根性

  not invented here

  ●非我发明症(译者注:是一种文化,指不信任、不使用非自己发明的技术)

  Pull Their Chain

  忌讳

  knock down their ideas by saying, “but that’s not the industry standard”

  ●用这句话来打击他们的创意:“这不是工业标准”

  The Conqueror

  征服者

  No problem is too hard for the conqueror. To them, programming is an odyssey of increasingly demanding Herculean challenges to overcome. The conqueror is driven and competitive, but not necessarily competitive with other people.

  征服者没有难题。对他们来说,编程只是一场征服之旅,不断去克服各种挑战。征服者很争强好胜,但不一定是和别人争。

原文转自:http://www.kuqin.com/pragmatic/20110828/264101.html