如何编写可调ABAP程序?

如何编写可调ABAP程序?,abap,maintainability,Abap,Maintainability,我有在ABAP中开发程序的经验,通过它,我想知道如何在编写代码时牢记未来的变化 例如,最近我在客户端开发了一个定制流程的程序,最初的需求很简单,程序已经完成 但几周后,发生了至关重要的变化,尽管我适应了这些变化,但这是以牺牲代码可读性和性能为代价的 几个月后,又发生了一些变化,此时此刻,我完全搞不清自己在那里做了些什么,让自己被自己的编程弄糊涂了 所以我真的很想知道,在假设变化不可避免的情况下,大师们对这些场景采用了什么方法 问候, 乌马尔·阿卜杜拉总会有变化。的技术使您能够在设计中构建可变性,

我有在ABAP中开发程序的经验,通过它,我想知道如何在编写代码时牢记未来的变化

例如,最近我在客户端开发了一个定制流程的程序,最初的需求很简单,程序已经完成

但几周后,发生了至关重要的变化,尽管我适应了这些变化,但这是以牺牲代码可读性和性能为代价的

几个月后,又发生了一些变化,此时此刻,我完全搞不清自己在那里做了些什么,让自己被自己的编程弄糊涂了

所以我真的很想知道,在假设变化不可避免的情况下,大师们对这些场景采用了什么方法

问候,


乌马尔·阿卜杜拉

总会有变化。的技术使您能够在设计中构建可变性,并使代码在其整个生命周期中保持可维护性

一些关键想法一目了然:

  • 编写自动单元测试,以便能够在不破坏现有功能的情况下重构代码。关键词:单元测试,测试金字塔
  • 将大的更改拆分为许多小步骤,并以连续的方式进行集成和测试。关键词:持续整合
  • 编写干净的代码,将代码构造成可重用、可插入的组件。关键词:干净的代码,干净的体系结构。也许会有帮助

    • 总会有变化。的技术使您能够在设计中构建可变性,并使代码在其整个生命周期中保持可维护性

      一些关键想法一目了然:

      • 编写自动单元测试,以便能够在不破坏现有功能的情况下重构代码。关键词:单元测试,测试金字塔
      • 将大的更改拆分为许多小步骤,并以连续的方式进行集成和测试。关键词:持续整合
      • 编写干净的代码,将代码构造成可重用、可插入的组件。关键词:干净的代码,干净的体系结构。也许会有帮助

      不可能避免此类可维护性问题,但我通过使用有用的注释、编写自动单元测试代码和创建有用的文档(主要是注释图)来降低风险。在将来,任何可维护性问题都会导致注释、单元测试或文档的更新,最后还会导致代码的重构。在没有领域知识的情况下,很难适应未来的更改。如果您对项目的发展方向有一个遥远的想法,那么您可以为以后的版本制定一个粗略的计划,并在脑海中开始构建第一个实现。但是,如果像经常发生的那样,您面临着不可预见的更改和不断发展的过程,那么在进行更大的更改时,您应该尽可能保持代码的干净性和可读性,因为这会让您的客户付出代价,您实际上可能无法做到这一点。这不是你的错。不可能避免这种可维护性问题,但我通过使用有用的注释、编写自动单元测试代码和创建有用的文档(主要是注释图)来降低风险。在将来,任何可维护性问题都会导致注释、单元测试或文档的更新,最后还会导致代码的重构。在没有领域知识的情况下,很难适应未来的更改。如果您对项目的发展方向有一个遥远的想法,那么您可以为以后的版本制定一个粗略的计划,并在脑海中开始构建第一个实现。但是,如果像经常发生的那样,您面临着不可预见的更改和不断发展的过程,那么在进行更大的更改时,您应该尽可能保持代码的干净性和可读性,因为这会让您的客户付出代价,您实际上可能无法做到这一点。不是你的错。