zoukankan      html  css  js  c++  java
  • ABAP代码规范

    不可否认保持一个良好的编程风格会带来很多的好处。而对于“良好”的标准,则众说纷纭,莫衷一是。下面是从网络上摘抄的一部分abap规范准则,供大家参考。

    1, 大写与小写

    ABAP是一种大小写不敏感的语言。这自然会引起一个问题:使用大写还是小写?SAP给出的ABAP编辑器为我们提供了4种选项:

    • (全部)大写
    • (全部)小写
    • (关键字)大写
    • (关键字)小写

    选择(关键字)大写,让代码的其余部分保持小写,

    这么做的好处如下:

    (一)阅读大写字母组成的文本比阅读小写字母组成的文本要难

    (二)程序的读者通常会对关键字极为熟悉(即使不熟悉,也有文档可看),而其他人可能对写出的非关键字不太可能熟悉。这两个理由使得,相比关键字,我们更需要让代码的非关键字保持良好的可读性。因此,非关键字的小写是一种必然的选择。在此基础上,让关键字保持大写,可以帮助我们区分关键字和非关键字。当然,由于关键字高亮的功能的存在,也可以不通过大小写区别它们,所以(全部)小写同样是一种可行的选项,部分SAP标准代码也是这样的风格。

    2, 缩进

    SE38的代码编辑器提供了自动缩进的功能,别忘了点击“格式优化”(Pretty Printer),所有人的代码会得到同样的缩进...然后再根据个人喜好进行微调。

    3, 表达式vs关键字

    ABAP是一门包含有大量关键字的语言。SAP似乎意识到了关键字过多带来的不便,在尝试着在近期的更新中引入更多表达式的写法。

    表达式的写法比关键字更加简洁、可读,推荐尽量使用表达式代替关键字,比如:

    4, Open SQL语句

    抽取字段尽量竖排,方便查看

    5, 命名法

    ABAP程序通常使用一系列前缀来为变量命名,比如:

    LT_ = Local internal table

    LS_ = Local structure(work area)

    LR_ = Local reference

    GT_ = Global internal table

    GS_ = Global structure(work_area)

    GR_ = Global reference

    这样做是有好处的,一方面,通常的ABAP编辑器不具备自动提示类型的功能,合理前缀可以降低阅读代码的心智负担;另一方面,如上一节所述,如果为变量取一个和数据类型/数据库字段完全相同的名字,会在某些情况下产生意外的混淆(当然这个naming convention各个项目有所不同)。

    比如:

    但是前缀的滥用也会导致很多问题,合理的ABAP代码中应该尽量避免多余的变量名前缀。

    6, 单行长度

    有种观点认为,单行的代码长度不应超过72个字符。大体上,对于ABAP代码而言,这么做没什么不好。

    如图,80个字符已经稍稍超出了编辑器核心区域的边界(虽然远未达到编辑器支持的最大长度)。如果只是打开单个编辑器窗口的话,这种长度还可以接受,但如果要并排打开2个窗口,一部分代码也许会无法直接显示。

    此外,在SAP自身的代码比较工具中,过长的单行内容是无法直接展示的:

    这种情况下,需要点击工具栏中的按钮换页,不利于阅读。如果能有意限制单行代码的长度,就可以避免处于这种不利的情况。

    7, 不定义带表头的内表

    ABAP提供了关键字with header line用来创建代表头的内表。

    但是用同一个名字代表两样不同的东西本来就是很不好的事情,容易混淆、为了让代码有更好的可读性,最好放弃带表头的内表。

    以上。

  • 相关阅读:
    Myeclipse10 + JBPM4.4 环境搭建图文教程
    关于ztree异步加载的问题(二)
    ztree学习之异步加载节点(一)
    【LeetCode】Search a 2D Matrix
    【LeetCode】Merge Sorted Array
    【LeetCode】Search for a Range
    一位阿里导师给大学生的忠告
    Java 基础
    java XML-RPC
    java web service
  • 原文地址:https://www.cnblogs.com/lvdong18847870057/p/12553111.html
Copyright © 2011-2022 走看看