平庸开发者的生存指南

撇开题目不谈,我个人认识一些非常有才华的开发人员,他们可以一帆风顺地创建极好的软件。正是这些天赋人士,使得外行人对我们这个行业充满了很高的期望。但我要说的一个可悲的事实是:并非每个人都是忍者/大师/明星开发者。

我就不是这些闪耀的新星,我只是一名平庸的开发者。如果你也不是天才玩家,那么本文将指导你如何在这个行业中生存下去。

最简单的事情——只要google一下

我记不了很多东西。像标准库中的函数和方法、参数位置、软件包名称,样板代码等等,都在我脑容量之外。

所以,我必须使用google搜索。我每天都这样做。我也一直在重复使用旧项目的代码。有时我甚至从StackOverflow或Github复制粘贴答案。是的,我的开发其实可称之为:StackOverflow驱动开发。

但我并不孤单。许多其他开发人员也这样做。有一个受众面很广的twitter讨论就是由Ruby on Rails的创建者所启动的。

那么,为什么一开始会认为这种行径是不好的呢?因为它有若干缺点:

  • 会导致你复制到糟糕的设计决策或易受其他人攻击的代码
  • 会形成一种依赖心态:要是我们不能google到内容,那么只能向人求助了
  • 没有网就不能工作

但是,我不认为这些是大问题。它甚至可以作为是你的秘密武器。我有一些建议可用于减少其负面影响。

生存指南:

  • 使用IDE来获得自动完成和建议,所以你不必google编程语言的基础内容;
  • 记住你曾解决过这个问题的地方(而不是如何解决的)。这样你便可以随时在那里找到解决方案;
  • 所有粘贴到项目中的代码你稍后都应该进行分析、重构和审查。这样我们在快速提供解决方案的同时也不会损坏项目。

一切保持简单明了

我们说什么,机器就做什么。即便是错的,它们也毫不迟疑。所以,软件开发中的主要问题不是机器,在于开发人员的心智能力。而这玩意提升的空间是非常有限的。所以,我们——作为平庸的开发人员——不能将有限的脑力浪费在创建复杂的抽象、模糊算法或不可读的长代码块上。你需要保持一切简单明了。

但是,我们怎么判定代码是简单还是复杂?我们使用WTFs / Minute方法来衡量代码质量。

本问参考:http://www.codeceo.com/article/i-am-mediocre-developer.html


Leave a comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注