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

  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