我知道这可能被认为是主观的,但这绝对不是我的意图。我一直在寻找可能从未听说过的有助于提高软件工程师生产力和质量的技术。
特别是我正在寻找能够帮助您提高软件工程师的工作效率和质量的工具,技术,方法,技巧和窍门,最佳实践等。这实际上是一个与流程相关的问题。因此,请不要回答您对从您的角度来看哪种编程语言最佳的看法。
我希望答案是主观的。但这就是它的美丽。并非一切都适合每个人。我们都有不同的约束条件。因此,我们做出不同的选择是不可避免的。如果答案是矛盾的,那就完全没问题了!
具体对您有帮助的技术是什么?他们是如何有所作为的?你用什么标准来得出这个结论?
答案 0 :(得分:1)
委托相关方。然后定期查看分配的任务 一旦你知道谁最好委托谁,谁将正确有效地完成任务,它将大大提高你的工作效率。
它可以让您专注于您想要或需要做的事情 就像回答stackoverflow问题一样。
答案 1 :(得分:1)
好的,这是我的主观回答。
在我看来,提高质量的标准方法是单元测试。当然,您仍然可以编写有效的代码,并进行单元测试以确认其有效,但至少您知道它有效。单元测试真正为您带来优势的地方在于您希望更改代码或添加其他功能。进行单元测试可确保您的代码保持正常运行。
至于生产率和单元测试,取决于您是否考虑短期或长期生产力。单元测试需要花费时间,因此编写实际功能的效率会降低。从长远来看,我绝对相信您的工作效率更高,因为您的单元测试可以保证在维护期间所有功能都能继续工作。
第二个提高生产力和质量的提示是彻底思考每个新功能。一旦发布了新功能,您必须对其进行维护。维护需要时间并降低生产力。新功能是否必要?有多少客户真的想要这个功能?始终着眼于更大的图景,您对自己产品的愿景是什么,新功能是否符合这一愿景。
代码越少,维护的代码越少,错误越少。我总是尽力记住这一点。
答案 2 :(得分:1)
学习如何有效地使用递归。它给了我一个框架,将复杂的问题分解为可理解的代码。它帮助我更快地编写了难以处理的代码,没有或只有很少的错误。教我如何这样思考的那本书是DP弗里德曼的The Little Schemer。
我要说的第二个是学习Lisp。这有助于我更快地学习其他语言。我现在可以通过它们实现的Lisp功能子集对其他语言进行分类。
P.S。我的软件中不经常使用递归。大多数现代语言和框架都具有功能和实用功能,允许您避免使用递归来解决更简单的问题。