用于源代码补丁的装置和方法制造方法及图纸

技术编号:8934406 阅读:140 留言:0更新日期:2013-07-18 02:58
本发明专利技术涉及一种用于源代码补丁的装置和方法。提供了一种对源代码补丁有用的装置、过程和产品。所述计算机化装置具有处理器,所述装置包括:源代码获得器,其用于获得计算机程序的源代码;补丁指令获得器,其用于获得一组源代码补丁指令,其中第一补丁指令包括与第一源代码补丁关联的一组源代码修改指令,其中第二补丁指令包括与第二源代码补丁关联的一组源代码修改指令;源代码编辑器,其被配置为向用户同时显示所述源代码和与应用每个源代码补丁关联的批注;以及其中所述源代码编辑器还被配置为根据用户输入编辑所述源代码,其中基于用户输入而修改所述第一和第二源代码补丁指令。

【技术实现步骤摘要】

本公开一般地涉及计算机编程,更具体地说,涉及源代码补丁。
技术介绍
许多软件开发都使用迭代修改-审查过程完成。开发人员修改源代码-例如,修复错误或添加新特性。然而,这种修改无法立即加入项目中-在它可以被接受之前,所述修改需要由整个团队或由项目的多个管理人员之一审查。在某些组织中,可能进行面对面审查,其中开发人员将其代码提供给审查者。然而,在许多其他组织中,开发人员遍布各个国家和时区,或者只是发现难以协调会议,并且从远方执行审查,例如通过电子邮件:开发人员将其建议的源代码修改打包在补丁文件中并将此更改信息发送给审查者。具体地说,此过程常见于对等生产模型,例如开源开发。在本公开中,“源代码补丁”或“补丁”是一组在概念上关联的源代码修改指令,例如所有修改都致力于共同目标,例如添加特性或解决现有错误。补丁可以被提供为文本文件(例如,在Unix 环境中使用diff软件实用程序生成),或者提供为源代码控制系统(例如,CVS 、Rational ClearCase 等)中的修订。在许多场合下,补丁附带有人类可读的更改描述,以使审查者更容易理解补丁。审查者可以按原样接受建议的更改,或者要求修复某些问题,之后开发人员应发送改进的补丁以进行另一轮审查-直到补丁被最终接受并“提交”到项目的主要源代码中。
技术实现思路
所公开的主题的一个示例性实施例是一种具有处理器的计算机化装置,所述装置包括:源代码获得器,其用于获得计算机程序的源代码;补丁指令获得器,其用于获得一组源代码补丁指令,其中第一补丁指令包括与第一源代码补丁关联的一组源代码修改指令,其中第二补丁指令包括与第二源代码补丁关联的一组源代码修改指令;源代码编辑器,其被配置为向用户同时显示所述源代码和与应用每个源代码补丁关联的批注;其中所述源代码编辑器还被配置为根据用户输入编辑所述源代码,其中基于用户输入而修改所述第一和第二源代码补丁指令。所公开的主题的另一个示例性实施例是一种由处理器执行的计算机实现的方法,所述方法包括:获得计算机程序的源代码;获得一组源代码补丁指令,其中第一补丁指令包括与第一源代码补丁关联的一组源代码修改指令,其中第二补丁指令包括与第二源代码补丁关联的一组源代码修改指令;同时显示所述源代码和与应用每个源代码补丁关联的批注;以及根据用户输入编辑所述源代码,其中基于用户输入而修改所述第一和第二源代码补丁指令。所公开的主题的另一个示例性实施例是一种计算机程序产品,包括:在其上保存计算机程序的非瞬时性计算机可读介质,其中所述计算机程序当由处理器执行时导致所述处理器:获得计算机程序的源代码;获得一组源代码补丁指令,其中第一补丁指令包括与第一源代码补丁关联的一组源代码修改指令,其中第二补丁指令包括与第二源代码补丁关联的一组源代码修改指令;同时显示所述源代码和与应用每个源代码补丁关联的批注;以及根据用户输入编辑所述源代码,其中基于用户输入而修改所述第一和第二源代码补丁指令。所公开的主题的另一个示例性实施例是一种计算机程序产品,包括:在其上保存计算机程序的源代码的非瞬时性计算机可读介质,其中所述源代码包括与源代码补丁指令关联的预处理指令;其中所述源代码补丁指令包括:第一源代码补丁指令,其包括与第一源代码补丁关联的第一组源代码修改指令,其中所述第一源代码补丁指令包括:第一指令,其用于添加第一源代码行,所述第一源代码行包括始终在包括所述第一源代码行的情况下被执行的条件预处理命令;第二指令,其用于删除第二源代码行,所述第二源代码行包括从不在包括所述第二源代码行的情况下被执行的条件预处理命令;第二源代码补丁指令,其包括与第二源代码补丁关联的第二组源代码修改指令,其中所述第二源代码补丁指令包括:第三指令,其用于添加第三源代码行,所述第三源代码行包括始终在包括所述第三源代码行的情况下被执行的条件预处理命令;由此编译所述源代码的处理器可操作以便至少通过添加所述第一源代码行、删除所述第二源代码行以及添加所述第三源代码行而自动应用所述第一和第二源代码补丁。附图说明从下面结合附图的详细说明,将更全面地理解和领会本公开的主题,其中对应或相同的数字或字符指示对应或相同的组件。除非另外指出,否则附图提供本公开的各示例性实施例或方面,并且不限于本公开的范围。这些附图是:图1A和IB示出了根据所公开的主题的某些示例性实施例的计算机化环境的图示;图2A-2C示出了根据所公开的主题的某些示例性实施例的方法中的步骤的流程图;图3示出了根据所公开的主题的某些示例性实施例的计算机化装置的组件的方块图;以及图4示出了根据所公开的主题的示例性实施例的编辑器的图示。具体实施例方式下面将参考根据所公开的主题的实施例的方法、装置(系统)和计算机程序产品的流程图和/或方块图对所述主题进行描述。将理解,所述流程图和/或方块图的方块以及所述流程图和/或方块图中的方块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机、专用计算机、被测试处理器或其他可编程数据处理装置的一个或多个处理器以产生机器,以便通过所述计算机或其他可编程数据处理装置的处理器执行的所述指令产生用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的装置。这些计算机程序指令也可以被存储在能够引导计算机或其他可编程数据处理装置以特定方式执行功能的非瞬时性计算机可读介质中,以便存储在所述非瞬时性计算机可读介质中的所述指令产生一件包括实现在一个或多个流程图和/或方块图方块中指定的功能/操作的指令装置的制品。所述计算机程序指令还可被加载到设备、计算机或其他可编程数据处理装置,以导致在所述计算机或其他可编程装置上执行一系列操作步骤以产生计算机实现的过程,从而在所述计算机或其他可编程装置上执行的所述指令提供用于实现在一个或多个流程图和/或方块图方块中指定的功能/操作的过程。严格审查补丁 (与仅仅不经审查就批准补丁相反)变得非常困难,因为补丁变得大于一百行左右(修改、添加或删除)。当补丁发展到一千行时,审查者通常无法将大型补丁作为一个整体理解,也无法领会其中每个更改的有效性。此外,简短说明不再足以描述补丁中所有更改的理由。当向代码中添加新特性时,此类大型补丁很常见。一般而言,与理解一个执行所有类型操作的大型1000行补丁相比,更容易理解10个补丁,每个补丁包含100行功能相关代码以及有关此部分代码所执行操作的解释。因此,坚决要求高质量审查过程的项目应该坚持将大型更改分解为一系列较小的补丁。通常,应以如下方式将更改拆分为补丁:按顺序应用每个补丁之后,编译所述代码。此外,应以这样的方式拆分更改:使得易于分别解释和理解每个补丁。在某些示例性实施例中,开发人员可以向每个小型补丁添加单独说明。如果项目希望采取拆分大型补丁以便审查的做法,并且使用现有工具实现此目的,则通常将面临障碍。开发人员需要能够按照审查者的要求继续修改代码,并且通常需要重新组织拆分以使其更容易理解。开发人员需要一直执行此操作,直到代码被最终接受。在某些情况下,迭代开发和审查修改的过程可以涉及在可能包含数周或甚至更多时间的期间内,对不断发展的一组补丁进行许多更改。因此,所公开的主题处理的一个技术问题是提供一种方便的方式,以保持将修改拆分为单独补丁,同时仍然允许更改此拆分本文档来自技高网...

【技术保护点】
一种具有处理器的计算机化装置,所述装置包括:源代码获得器,其用于获得计算机程序的源代码;补丁指令获得器,其用于获得一组源代码补丁指令,其中第一补丁指令包括与第一源代码补丁关联的一组源代码修改指令,其中第二补丁指令包括与第二源代码补丁关联的一组源代码修改指令;源代码编辑器,其被配置为向用户同时显示所述源代码和与应用每个源代码补丁关联的批注;其中所述源代码编辑器还被配置为根据用户输入编辑所述源代码,其中基于用户输入而修改所述第一和第二源代码补丁指令。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:E·D·法尔基A·戈登N·Y·哈雷M·肖沙
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1