《理解软件》作者专访:如何提高工程师效率
极客时间编辑部
讲述:杜力大小:1.12M时长:02:27
2017 年 10 月,马克斯·卡奈特·亚历山大(Max Kanat-Alexander)出版了新书《理解软件》(Understanding software),该书深入地介绍了如何保持软件的简洁性,以及如何避免生成缺乏维护的复杂软件。InfoQ 就该书内容采访了马克斯。
马克斯表示,他希望这本书能有助于人们成为更好的程序开发人员,也希望能确立一些编程的基本原则,进而分享给更多的人。他在书中并未添加大量的示例代码,因为他希望书中的内容能是通用的,他不想看到书中的内容变得过时,也不想因为使用了特定的编程语言示例而使书中的内容局限于某一语言上。
在书中,马克斯特别就编程问题讨论了“观察的循环周期”,其原因在于作为软件工程师,观察是与使用工具的方式密切相关的。在编写代码后,工程师需要查看代码的情况,例如代码的输出、代码的内容、测试的结果等。然后才能根据自身观察到的情况做出决定。最终,需要根据这个决定采取一些行动,例如改进代码、编写新的测试等。
谈到能提高工程师效率的工具,马克斯表示很难做出推荐,因为这很大程度上取决于开发人员所使用的编程语言,以及想要采取的编程方式。在他看来,合适于开发人员的工具类型有很多。
对于需要构建或编译的语言来说,开发者可能需要的是一种很好的构建工具,如 bazel;同时还可能需要一个好的测试框架,以及一种好的测试运行工具,特别是对于团队而言,需要的可能是像 Jenkins 这样的持续集成系统。另外,在一些较大的项目中,具有某种自动化的重构工具无疑是一件好事。
谈到“二次系统开发效应”,马克斯建议,永远不需要重写你的系统,因为系统总是可以重构的。他的第一本书《代码简洁性》中列出了一个清单,开发者们可以根据这个清单,来决定对系统是采取重构,还是重写。
在采访中,马克斯还谈到,在编程生产效率上,持续测试运行工具的引入是过去几年中最引人注目的进展,这类工具会在开发人员每次保存文件时,对代码做重新编译,并重新运行测试,这极大地改变了软件开发的文化。
马克斯还指出,如果持续测试运行工具能达到在文件保存后两秒内完成所有任务的程度,那么它将无疑成为提升开发人员生产效率的可遇而不可求的工具(Holy Grail),并会显著地影响团队文化。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 陈文凤哪里可以买这本书?求推荐
收起评论