软件开发工具化: 信息、观点、准则和工具
英文原文: Software Development Tooling: Information, Opinion, Guidelines, and Tools
这篇文章最早刊登在 IEEE Software 杂志中。IEEE Software 对当前具有战略性的技术问题提供了可靠的、专家评审过的信息。包括运行的可靠性、企业的灵活性、IT 经理人和技术领导者所依赖的国家级最先进的 IT 解决方案。
该专栏记录了近 10 年间在 IEEE Software 出现过的贸易部门的工具。至于接下来的期刊中,将出现在最接近杂志头版的位置,所以接下来有了一个很好的机会来总结一下该专栏多年来呈现的内容。
这篇文章首先从把资料组织成思维导图开始,下面的两幅图展示了得出的结果。两幅图还为每一段文字提供了专栏博客的导航,并使用了可打印成海报的格式。
图 1 按列将要点归纳为信息(information)和观点(opinion),以及规范准则(prescriptive guidelines)。这些信息和观点元素被分为 8 大主题:设计(Design)、编码(Writing code)、构建(Building)、工具(Tooling)、运营(Operations)、协同(Working with others),职业发展(Professional advancement),以及软件过程(software process)。
规范准则一侧在此基础上增加了调试(Debugging)、性能(Performance)和避免错误(Avoiding errors),许多列提供了额外的准则,通常放在了“最佳实践”部分。图的中心位置是刊登的标题和所在的期号和栏页。
图 1. Tools of the Trade 专栏要点。信息和观点元素被分为 8 大主题:设计(Design)、编码(Writing code)、构建(Building)、工具(Tooling)、运营(Operations)、协同(Working with others),职业发展(Professional advancement),以及软件过程(software process)。
图 2 使用相应的元素(比如“持续集成”)关联了特定的象征性工具。在网上一齐搜索这些工具名称,你将会得到这类工具的比较、更多的同类工具名单,以及更详细的 相关材料。图中的列表并没有列出此类中所有的工具,而且许多本该上榜的工具也没有出现。虽然如此,如果在一个类别中没有你所熟知的工具,那么读读相应的列 也会让你有所收益的。
图 2. 主题和工具。图中没有列举全部的工具,某些本该上榜的工具也没有出现。
回首 2005 年,这个系列中的第一期专栏曾痛惜我们这个行业在工具开发上的支出。十年即 60 期之后,看起来第一期专栏所言有些过于悲观了。我们有幸拥有许多强劲的工具,可以提高我们工作的质量和生产力。真正的挑战是如何使用它们。
鸣谢
专栏编辑衷心感谢如下各位,他们在过去 10 余年中贡献了非正式的评论和有见地的反馈意见:Yiorgos Adamopoulos、Achilleas Anagnostopoulos、Dimitris Andreadis、Phillip G. Armour、Giovanni Asproni、Steve Berczuk、Grady Booch、Christian Brueffer、Wilko Bulte、Bryan Cantrill、Damianos Chatziantoniou、Konstanti- nos Christidis、Al Davis、Theodore Dounas、Julian Elischer、Ruslan Ermilov、Martin Fowler、Marios Fragkoulis、Jiannis Georgiadis、Robert Glass、Dimitris Glezos、Georgios Gousios、Junio C. Hamano、Poul-Henning Kamp、Panagiotis Kanavos、Vassilios Karakoidas、Isidor Kouvelas、George Kyriazis、Panagiotis Louridas、Christos KK Loverdos、Dimitris Mitropoulos、Marcel Moolenaar、Mark Murray、George V. Neville-Neil、Ioannis Nikolaou、Panos Papadopoulos、Colin Percival、Wes Peters、Nancy Pouloudi、Vassilis Prevelakis、Linda Rising、Greg Schueler、Hellen C. Sharp、DagErling Smørgrav、Henry Spencer、Kostas Stroggylos、Alexandra Vassiliou、Robert N.M. Watson、Greg Wilson、Rebecca Wirfs-Brock、Alexios Zavras、和 George M. Zouganelis. 此外,没有 IEEE 计算机学会工作人员的献身精神和支持也就没有本专栏,因此特别鸣谢 Brian Brannon、Brooke Miner、Crystal Shif、Jennifer Stout、Dale Strok、Dennis Taylor 和 Jennie Zhu-Mai。最后,编辑竭诚感谢 Warren Harrison 为本专栏撰稿,以及 Hakan Erdogmus 和 Forrest Schull 在他们做主编的任期内对本栏的支持。
关于作者
Diomidis Spinellis is a professor in the Department of Management Science and Technology at the Athens University of Economics and Business and the author of the books (Addison-Wesley, 2003, 2006). Contact him at dds@aueb.gr.
Diomidis Spinellis:希腊雅典金 融商业大学管理科学与技术系教授、Code Reading 和 Code Quality: The Open Source Perspective(Addison-Wesley 于 2003 年和 2006 年出版)的作者。他的联系方式:dds@aueb.gr。
Stephanos Androutsellis-Theotokis:就读于伦敦大学帝国学院、约翰霍普金斯大学,以及希腊雅典金融商业大学。他是一名软件工程师。