1

我是一名热衷于提高我的编程技能的大学生。我有两条路要走:

  1. 为开源项目做贡献
  2. 在 codechef.com 上解决难题

我应该关注哪一个?

4

1 回答 1

3

一个好的程序员是关心他或她的 ACE——准确度清晰度有效性的人。

  • 一个好的程序员关心代码的准确性。最简单的部分是编写“快乐路径”,因为当我们设计和编写代码时,这始终是我们脑海中最重要的部分。但是,当出现意外输入和所提供的所选实现的边缘情况行为时,可能存在的异常路径呢?花时间思考所有的代码路径,投入时间进行测试,提交代码供同行评审,并愿意接受他人的建议并在适当的时候进行更改,这表明了谨慎。

  • 一个好的程序员关心代码的清晰性。代码是否结构良好、表达能力强、是否遵循开闭原则、单一职责原则,执行机器一点都不在乎。但是,这些对于下一个程序员或您自己来说都是非常重要的,他们必须在以后阅读和理解您的代码才能修复错误、修改行为或添加功能。

  • 一个好的程序员关心代码的有效性。它是否满足强加给它的所有约束?不仅是性能和空间限制,还有最终用户可以接受的方面,以及您的客户、老板、家人对开发和测试时间表的要求。专业软件开发不是一项精确的限制任务,例如“计算 NxN 矩阵的行列式”。它有很多限制和要求,优秀的程序员会注意所有这些,并且会尽力管理它们,尤其是在没有足够时间完全满足所有限制的情况下。

所以!为了回答您的直接问题,开源或代码厨师,我想说参与开源项目为练习成为一名优秀的软件开发人员提供了更多的机会。所以去选择一个你关心的开源项目,然后 ACE 吧!

于 2012-09-07T00:39:27.303 回答