编者说:
受TechLead高效程序员的七项技能启发,我们团队想就这个话题发表自己的看法。
下面是我们总结的高效程序员的七项技能。
1.学会如何阅读他人的代码除了你,所有人写的代码都很糟糕。
这就是为什么能够追踪他人的代码是一项具有多重好处的伟大技能。
不管之前工程师的代码有多么混乱或欠考虑,你仍然需要仔细阅读它。毕竟,这是你的工作。甚至一年前的那个工程师也是你。
这项技能对你有两个好处。第一,能阅读别人的代码让你有一个很好的机会去了解什么是糟糕的设计。
当你在浏览别人的代码时,你会了解到什么有用什么没用。更重要的是,你还会了解到,对其他工程师来说,哪种类型的代码比较容易理解哪种代码比较难理解。
在阅读其他人的代码时,你可以尽情地地抱怨。这样,其他工程师就会明白你有多么优秀。
务必要提一下可维护代码和良好注释的重要性。这可以进一步显示出你在编程领域的优势。
你的代码应该设计得非常好,以至于不需要任何文档。事实上,如果你是一名优秀的程序员,就不应该编写任何代码的文档。这只是浪费时间,你需要把时间花在编程和会议上。
能阅读他人编写的混乱代码也使得在需要时更新变得更容易。这有时意味着更新你不了解的代码。例如,我们曾经追踪一个脚本,从Powershell到Python再到Perl。
虽然我们在Perl方面的经验有限,但我们仍然有足够的上下文来了解发生了什么,并做出所需的更改。
这源于我们很好地理解了所有代码并且能够阅读Perl脚本。
阅读别人的代码会提升你的价值,因为你可以追踪那些因为过于复杂而让他人感到困惑的系统。
2.能够感知糟糕的项目有很多技能需要花时间去学习。我们相信有一项技能是有必要了解的,那就是知道哪些项目不值得做,哪些项目必然失败。
大公司总是有很多正在进行中的项目,而有些项目可能永远无法完成或产生影响。有一些项目可能没有任何商业意义(至少对你来说没有),还有一些项目管理不善。
这并不是说,当你不赞成某个项目的时候,你就应该打断别人的想法。不过,如果涉众不能适当地解释他们将利用最终结果做什么,那么这个项目可能不值得做。
此外,有些项目可能过于