ABAP的代码规范标准.pdf

上传人:暗伤 文档编号:9535624 上传时间:2022-04-04 格式:PDF 页数:7 大小:370.48KB
返回 下载 相关 举报
ABAP的代码规范标准.pdf_第1页
第1页 / 共7页
ABAP的代码规范标准.pdf_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《ABAP的代码规范标准.pdf》由会员分享,可在线阅读,更多相关《ABAP的代码规范标准.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、ABAP 的代码规范标准1.写与写 ABAP是种写不敏感的语。这然会引起个问题:使写还是写?SAP给出的ABAP编辑器为我们提供了4种选项:(全部)写(全部)写(关键字)写(关键字)写建议选择(关键字)写,让代码的其余部分保持写,这么做的好处如下:()阅读写字母组成的本阅读写字母组成的本要难。()程序的读者通常会对关键字极为熟悉(即使不熟悉,也有档可看),其他可能对写出的关键字不太可能熟悉。这两个理由使得,相关键字,我们更需要让代码的关键字保持良好的可读性。因此,关键字的写是种必然的选择。在此基础上,让关键字保持写,可以帮助我们区分关键字和关键字。当然,由于关键字亮的功能的存在,也可以不通过写

2、区别它们,所以(全部)写同样是种可的选项,部分SAP标准代码也是这样的风格。2.缩进 SE38的代码编辑器提供了动缩进的功能,别忘了点击“格式优化”(Pretty Printer),所有的代码会得到同样的缩进.然后再根据个喜好进微调。3.表达式vs关键字 ABAP是门包含有量关键字的语。SAP似乎意识到了关键字过多带来的不便,在尝试着在近期的更新中引更多表达式的写法。实例化对象 DATA(e_receiver) = NEW event_receiver( ).推荐的写法 DATA e_receiver TYPE REF TO event_receiver. 不推荐的写法 CREATE OBJE

3、CT 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_fou

4、nd.ENDTRY.DATA ls TYPE sflight.READ itab INTO ls INDEX 2. 不推荐的写法IF sy-subrc 0.ENDIF.表达式的写法关键字更加简洁、可读,推荐尽量使表达式代替关键字,如:Open SQL语句抽取字段尽量竖排,便查看SELECT carrid connid fldate seatsocc seatsmaxFROM sflightINTO TABLE sflight_tabWHERE seatsmax sflightseatsocc.4.命名规则 ABAP程序通常使系列前缀来为变量命名,如:LT_ = Local internal t

5、ableLS_ = Local structure(work area)LR_ = Local referenceGT_ = Global internal tableGS_ = Global structure(work_area)GR_ = Global reference 这样做是有好处的,通常的ABAP编辑器不具备动提类型的功能,合理前缀可以降低阅读代码的智负担;另,如上节所述,如果为变量取个和数据类型/数据库字段完全相同的名字,会在某些情况下产意外的混淆(当然这个naming convention各个项有所不同)。如:DATA s1 LIKE sflight.DATA s2 TYPE

6、 sflight.以上这段代码会声明两个相同的结构s1, s2DATA sflight TYPE i.DATA s1 LIKE sflight.DATA s2 TYPE sflight.如果声明过个名为sflight的i类型变量,则使like的语句会声明个i类型的s1,使type的语句会声明个有着sflight类型的结构s2.但是前缀的滥也会导致很多问题,合理的ABAP代码中应该尽量避免多余的变量名前缀。5.单长度 有种观点认为,单的代码长度不应超过72个字符。体上,对于ABAP代码,这么做没什么不好。如图,80个字符已经稍稍超出了编辑器核区域的边界(虽然远未达到编辑器持的最长度)。如果只是打

7、开单个编辑器窗的话,这种长度还可以接受,但如果要并排打开2个窗,部分代码也许会法直接显。此外,在SAP的代码较具中,过长的单内容是法直接展的: 这种情况下,需要点击具栏中的按钮换页,不利于阅读。如果能有意限制单代码的长度,就可以避免处于这种不利的情况。6.不定义带表头的内表 ABAP提供了关键字with header line来创建代表头的内表。 DATA: LT_SFLIGHT TYPE STANDARD TABLE OF SFLIGHT WITH HEADER LINE. 但是同个名字代表两样不同的东西本来就是很不好的事情,容易混淆、为了让代码有更好的可读性,最好放弃带表头的内表。7.主程

8、序表头注释Copyright 2018 Wiwi Dongguan * All Rights Reserved *-* Program Name : ZXXXXX * Project : WiwiSAP Implementation Project * Program Title: * Created by : DEVXX * Created on : 2019/06/18 * Version : 1.0 * Function Description: * *-* Data Table List: *如维护操作的表,数据计算来源等表*-* Refrence Table List: *如联络处描

9、叙,输帮助等到的表*-* Modification Log: * Date Programmer Correction Number DesingDoc Number * YYYY/MM/DD XXXXXXXX DEVK9nnnnnn *注意:版本修改信息中设计档版本有对应的档则必须填写。8.包含及程序命名规则 对于复杂的程序,可以将其编写为多个INCLUDE,不同作的代码放在不同的INCLUDE 中,各个INCLUDE 的名称按下表编写程序类型Events(TOPOFPAGE 等)Subroutines(Form routines)PAI ModulesGlobal DataInput He

10、lp命名规则ZXXXXE01ZXXXXF01ZXXXXI01ZXXXXTOPZXXXXH01其中:ZXXXX 为程序名。事件代码必须遵循编写顺序InitializationAt Selection-Screen OutPutAt Selection-ScreenSTART-OF-SelectionAt Select-Screen on XXXXAt Select-Screen on value request for XXXXXAt Select-Screen on help request for XXXXX共函数的格式* Function Name : XXXXX * Created by

11、 : DEVXX * Created on : 2018/12/18 * Function Description: * *-*参数说明 * *-* Modification Log: * Date Programmer Description * YYYY/MM/DD XXXXXXXX *函数的格式* Form Name : XXXXX * Created by : DEVXX * Created on : 2019/06/18 * Form Description: * *-*参数说明 * *-* Modification Log: * Date Programmer Descriptio

12、n * YYYY/MM/DD XXXXXXXX *9.变量命名规则Type Name:T_Internal tables (global): gt_Internal Tables (Local):it_作区(structure): wa_全局变量: g_局部变量: l_Ranges = r_Selection screen parameter: p_select-options : s_函数参数命名规则:IMPORTING parameters IM_EXPORTING parameters EX_CHANGING parameters CH_返回参数 RE_变量定义顺序*DATA DECLA

13、RATION *-* CONSTANTS *-*CONSTANTS:C_TOTAL(8) TYPE C VALUE WA_TOTAL.*-*TABLES *-*TABLES: AFKO, Order header data PP ordersAFPO, Order itemJEST, Object statusRESB, Reservation/Dependent RequirementsAUFK, Order master dataMAKT, Material DescriptionsTJ02T. System status texts*-* TYPES OR TYPE-POOLS *-*T

14、YPES: BEGIN OF T_AUFK,AUFNR LIKE AUFK-AUFNR, Order numberAUART LIKE AUFK-AUART, Order typeLOEKZ LIKE AUFK-LOEKZ, Deletion flagOBJNR LIKE AUFK-OBJNR, Object numberEND OF T_AUFK.*-* INTERNAL TABLES AND WORK AREAS *-*DATA: I_AUFK TYPE T_AUFK OCCURS 0,WA_AUFK TYPE T_AUFK.*-* GLOBAL VARIABLES *-*DATA: G_FLAG.10.屏幕编号规则选择屏幕编号范围:1000-1999录屏幕编号范围:1999屏幕编号范围:30004999注释规则任何全局变量要简单解释作或使地任何函数超过30 的函数或form 必须在关键位置加注释,解释操作意图消息提使规则消息请使ZDEV 的标准的消息本;如果标准消息本中没有的请找管理员增加,不得维护;注释的创建期和修改期必须认真填写为实际期Status 命名规则为:Menu+屏幕号,共的为Menu+Main

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁