软件考古

编辑
本词条由“匿名用户” 建档。
作为软件维护的一部分,软件考古学是研究记录不佳或未记录的遗留软件实现。软件考古学,与考古学类比命名,包括软件模块的逆向工程,以及用于提取和理解程序结构和恢复设计信息的各种工具和过程的应用。软件考古学可能会揭示功能失调的团队流程,这些流程产生了设计不良甚至未使用的软件模块,并且在某些情况下可能会发现故意混淆的代码。这个术语已经使用了几十年,反映了一个相当自然的比喻:阅读遗留代码的程序员可能会觉得...

什么是软件考古

编辑

作为软件维护的一部分,软件考古学是研究记录不佳或未记录的遗留软件实现。软件考古学,与考古学类比命名,包括软件模块的逆向工程,以及用于提取和理解程序结构和恢复设计信息的各种工具和过程的应用。软件考古学可能会揭示功能失调的团队流程,这些流程产生了设计不良甚至未使用的软件模块,并且在某些情况下可能会发现故意混淆的代码。这个术语已经使用了几十年,反映了一个相当自然的比喻:阅读遗留代码的程序员可能会觉得他或她处于与考古学家探索古代文明废墟相同的境地。

软件考古技术

编辑

2001年OOPSLA(面向对象编程系统语言和应用程序)会议上的软件考古学研讨会确定了以下软件考古学技术,其中一些特定于面向对象编程:

更一般地说,AndyHunt和DaveThomas注意到版本控制、依赖管理、文本索引工具(如GLIMPSE和SWISH-E)以及“在您开始探索时地图”的重要性。

Software_archaeology

与真正的考古学一样,软件考古学涉及调查工作,以了解前人的思维过程。在OOPSLA研讨会上,WardCunningham提出了一种天气特征分析技术,该技术通过仅显示标点符号(例如分号和花括号)为程序提供整体“感觉”。同样,Cunningham建议以2点字体观看节目,以了解整体结构。研讨会上确定的另一项技术是使用面向方面的编程工具(如AspectJ)系统地引入跟踪无需直接编辑遗留程序的代码。

网络和时间分析技术可以揭示遗留软件开发人员的协作活动模式,这反过来可以揭示所产生的软件工件的优势和劣势。

EmbarcaderoTechnologies的MichaelRozlog将软件考古学描述为一个六步过程,使程序员能够回答诸如“我刚刚继承了什么?”之类的问题。和“代码的可怕部分在哪里?”这些步骤与OOPSLA研讨会确定的步骤类似,包括使用可视化来获得程序设计的可视化表示,使用软件度量来查找设计和样式违规,使用单元测试和分析来查找错误性能瓶颈,并组装由流程恢复的设计信息。软件考古也可以是外部顾问向程序员提供的一项服务

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/131798/

(1)
词条目录
  1. 什么是软件考古
  2. 软件考古技术

轻触这里

关闭目录

目录