网站大量收购独家精品文档,联系QQ:2885784924

ABAP的代码规范标准.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ABAP 的代码规范标准 1.⼤写与⼩写 ABAP是⼀种⼤⼩写不敏感的语⾔。这⾃然会引起⼀个问题:使⽤⼤写还是⼩写?SAP给出的ABAP编辑器为我们提供了4种选项: (全部)⼤写 (全部)⼩写 (关键字)⼤写 (关键字)⼩写 建议选择(关键字)⼤写,让代码的其余部分保持⼩写, 这么做的好处如下: (⼀)阅读⼤写字母组成的⽂本⽐阅读⼩写字母组成的⽂本要难。 (⼆)程序的读者通常会对关键字极为熟悉(即使不熟悉,也有⽂档可看),⽽其他⼈可能对写出的⾮关键字不太可能熟悉。这两个理由使 得,相⽐关键字,我们更需要让代码的⾮关键字保持良好的可读性。因此,⾮关键字的⼩写是⼀种必然的选择。在此基础上,让关键字保持 ⼤写,可以帮助我们区分关键字和⾮关键字。当然,由于关键字⾼亮的功能的存在,也可以不通过⼤⼩写区别它们,所以(全部)⼩写同样 是⼀种可⾏的选项,部分SAP标准代码也是这样的风格。 2.缩进 SE38的代码编辑器提供了⾃动缩进的功能,别忘了点击“格式优化”(Pretty Printer),所有⼈的代码会得到同样的缩进...然后再 根据个⼈喜好进⾏微调。 3.表达式vs关键字 ABAP是⼀门包含有⼤量关键字的语⾔。SAP似乎意识到了关键字过多带来的不便,在尝试着在近期的更新中引⼊更多表达式的写法。 实例化对象 DATA(e_receiver) = NEW event_receiver( ).推荐的写法 DATA e_receiver TYPE REF TO event_receiver. 不推荐的写法 CREATE OBJECT e_receiver. *调⽤⽅法(可以看到,传统的写法居然要5⾏...) val = object-method( parameter = a ) 建议的写法 CALL METHOD object-method 不建议的写法 EXPORTING parameter = a RECIEVING return = val. *访问内表 *访问内表 SELECT * INTO TABLE @DATA(itab) FROM sflight UP TO 10 ROWS ORDER BY carrid. TRY. DATA(ls) = itab[ 2 ]. 推荐的写法 CATCH cx_sy_itab_line_not_found. ENDTRY. DATA ls TYPE sflight. READ itab INTO ls INDEX 2. 不推荐的写法 IF sy-subrc 0. ENDIF. 表达式的写法⽐关键字更加简洁、可读,推荐尽量使⽤表达式代替关键字,⽐如: Open SQL语句抽取字段尽量竖排,⽅便查看 SELECT carrid connid fldate seatsocc seatsmax FROM sflight INTO TABLE sflight_tab WHERE seatsmax sflight~seatsocc. 4.命名规则 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各 个项⽬有所不同)。 ⽐如: DATA s1 LIKE sflight. DATA s2 TYPE sflight. 以上这段代码会声明两个相同的结构s1, s2 DATA sflight TYPE i. DATA s1 LIKE sflight. DATA s2 TYPE sflight. 如果声明过⼀个名为sflight的i类型变量,则使⽤like

文档评论(0)

暗伤 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档