ABAP写代码应该注意的地方

ABAP代码检查关注点:标准检查工具、命名规则与代码规范、代码逻辑及语法、程序性能等
标准工具检查
SCI检查结果没有ERROR,Waring控制在每2000行代码不超过5个
SLIN检查结果没有ERROR,Waring控制在每2000行代码不超过5个
程序的格式
是否使用了ABAP编写模板?
程序头部注释内容是否填写完整?
程序变更记录是否完整,变更处是否有注释?
关键查询语句和处理逻辑是否有注释?
子程序是否都有注释,注释是否准确清晰?
代码是否用Pretty Printer格式化?
关键字是否都大写,其他小写?
单行代码是否过长?
命名规则与代码规范
程序名命名是否符合规范?
对象属性设置是否完整和正确?
全局变量、局部变量、内表、工作区命名是否符合规范?
Form子程序和参数命名是否符合规范?
数据字典对象命名是否符合规范?    包括透明表、结构、视图、索引、数据元素、域、搜索帮助、锁对象
事务名称命名是否符合规范?
消息类命名是否符合规范?
屏幕命名和Module命名是否符合规范?
函数组命名是否符合规范?
Function Module及其参数命名是否符合规范?
Enhancement/User Exit项目命名是否符合规范?
代码逻辑与语法
程序中不能使用“硬代码”?
程序的连续代码是否过长,是否按逻辑划分子例程?
一个程序中可重复使用的代码,是否用子程序封装?多个程序可重复使用的代码,是否用函数进行封装?
函数中是否包含了异常处理机制?
Symbol使用时必须确保之前的Assgin是成功的?
乘法或加法结果是否会导致溢出、除法除数是否可能为0?
是否存在未使用的程序分支或变量?
BDC的使用是否是必须,能否有标准BAPI或函数代替?
多个IF…ELSE语句是否用CASE语句代替?
同时更新多个关联数据表时,是否能保证数据更新的一致性?
READ语法是否使用二分法查找数据?Read之前是否按照关键字段排序?
程序性能
在循环中使用Select语句是否考虑性能问题?
尽可能的select具体字段而不是用select *取数
使用Inner Join抓取关联表中数据的时候,不能超过3张表的关联并且应该用小表关联大表
SELECT语句的Where条件中应避免使用NOT和<>
WHERE语句中是否将限制结果集最少的条件放前面?
尽可能避免使用Loop嵌套,无法避免的时候应该使用索引
使用FOR ALL ENTRIES in itab,那么内表必须进行检查确保它不为空
使用FOR ALL ENTRIES in itab,itab内表必须先排序再排重
使用CASE语句时,将最可能的值放在结构最顶端WHEN条件中
使用Select语句查询业务表,是否用ST05确认使用索引?

SCI检查和SLIN检查(se38进入需要检查的程序)
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值