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进入需要检查的程序)

ABAP代码检查的注意事项有哪些相关推荐

  1. CSS代码检查工具stylelint

    前面的话 CSS不能算是严格意义的编程语言,但是在前端体系中却不能小觑. CSS 是以描述为主的样式表,如果描述得混乱.没有规则,对于其他开发者一定是一个定时炸弹,特别是有强迫症的人群.CSS 看似简 ...

  2. 在Visual Studio Code里编写ABAP代码

    今天在公司在线安装SAPGUI,一上午的时间都没把安装包下载完,有点怀念07年刚入坑ABAP时那会儿身材苗条的SAPGUI. 最近Visual Studio Code里和ABAP相关的扩展越来越多了, ...

  3. 一段让人瑟瑟发抖的ABAP代码

    昨天11月1日是万圣节,Jerry在继续忙着调研SAP Commerce Cloud里的产品主数据管理.晚上回家到SAP国外的社交媒体上一看,好热闹啊.国外的SAP从业者们纷纷以各种各样的方式庆祝万圣 ...

  4. 写java代码时的注意事项_从方法返回Java 8的可选项时的注意事项

    写java代码时的注意事项 Java 8引入的Optional类一直是该语言版本引入的最具争议的功能之一. 尽管我喜欢这个新的Java类的东西比不喜欢的东西多,但在Java方法中将其用作return类 ...

  5. 精读-软件测试的艺术之代码检查,走查与评审

    本文是关于精读书籍<软件测试的艺术>的一些学习笔记和分享 本书共有九章包括测试思想(心理,经济),代码检查,测试用例设计,模块测试,更高级别的测试,调试,极限测试和因特尔应用系统的测试. ...

  6. 重点检查重要部分的代码检查清单

    代码审查清单以及明确的代码审查规则和准则可以使您的代码审查实践对您的团队更加有益,并显着加快了代码审查的速度. 研究表明,使用清单的代码审阅者的表现优于不使用清单的代码审阅者. 因此,无论您是新开发人 ...

  7. 如何用ABAP代码读取CDS view association的数据

    我有如下一个CDS view, 这个view的数据来自CRMD_ORDERADM_H, 定义了一个名称为_statushelp的association, 指向了另一个CDS view Z_C_Stat ...

  8. 如何查找Authorization object在哪些ABAP代码里使用到

    2019独角兽企业重金招聘Python工程师标准>>> 使用事务码SUIM: 双击where-Used List->Authorization Objects->In P ...

  9. 用ABAP代码读取S/4HANA生产订单工序明细

    在S/4HANA事务码CO03显示的Production Order里,我希望用ABAP代码显示出该订单的operation(工序)ID,描述和状态Status,如下图所示: 很简单的几行ABAP代码 ...

最新文章

  1. 查看历史操作记录_燕麦课堂丨操作日志管理,为企业数据安全保驾护航
  2. LeetCode 450 Delete Node in a BST(二叉搜索树中的删除结点)
  3. 计算机程序编辑器中文版,小说编辑器(Atomic Scribbler)
  4. 作者:孙忠富(1957-),男,中国农业科学院农业环境与可持续发展研究所研究员。...
  5. SDN 前提知识:关于东西南北向接口
  6. 计算机上机考试的系统,计算机上机考试系统
  7. 初见Autorun病毒与解决办法
  8. JavaScript开发必备!这四款静态代码分析工具你了解吗
  9. Linux学习(2)---绝对路径和相对路径
  10. 理解opencv读取图片后的格式,理解图片矩阵的储存方式
  11. 【微信小程序】云函数入门(保姆级别)
  12. 全网征集对六如偈的理解:一切有为法,如梦幻泡影,如露亦如电,应作如是观
  13. android_图片转视频_image2video
  14. 基于Kappa-mu/M分布的联合多用户分集与并行中继继选择RF/FSO系统性能研究
  15. android 【禁止横屏和竖屏切换】
  16. 无法识别USB设备解决办法
  17. Java 中的加密算法
  18. ajax防止csrf,django ajax提交避免csrf_toke错误
  19. ats系统的主要设备由服务器,ATS系统介绍讲解.ppt
  20. 太赞了,288页Python核心知识笔记,零基础入门首选

热门文章

  1. 捕获SocketConnection组件连接异常的几个好贴
  2. PMCAFF携手百度,干货从未如此精彩(现场快讯)
  3. 有了人工智能还不够?腾讯的工具产品想试试社交
  4. 如何高效输出移动app产品原型?
  5. 企业建设什么样的网站才能符合用户?
  6. AliOS Things 硬件抽象层(HAL)对接系列2 — SPI driver porting
  7. WPF实例秀——不用属性也Binding
  8. ubuntu 14.04
  9. Form表单提交按钮图片IE6下背景透明(js提交)
  10. salmap绕waf