最近有朋友在公众号后台给我留言,“Jerry啊,你最近写的都是一些SAP研究院里面用到的新技术,能不能写点SAP传统的开发技术好比ABAP相关的东西”?git
其实Jerry在刚开始写这个公众号的时候,是写过不少ABAP的技术文章:程序员
由于Jerry最近的工做,须要使用ABAP编程的场景很少,因此近期这方面的文章少了点。github
在Jerry以前的文章 写在Github被微软收购之际 - Github的那些另类用法 曾经提到,SAP在Github上也有不少开源项目:算法
截至到今天(2019年7月26日),已经有399个仓库了。编程语言
Jerry年初去成都天府软件园一家SAP partners公司拜访时,这家公司的技术主管曾经问过我,有没有推荐的ABAP编程规范。Jerry当时想了想,回答说,虽然SAP研究院内部确有严格清晰写成文档,多达七八十页的ABAP编程规则,但Jerry不肯定这些编程规则是否能直接发给非SAP员工。ide
今天Jerry以为这个问题我已经有完美的答案了:咱们来聊聊上述SAP开源的Github仓库其中之一,包含了SAP官方推荐的ABAP编程规范:函数
https://github.com/SAP/styleg...工具
cheat-sheet文件夹里主要包含了CleanABAPCheatSheet和CleanABAPTheGoldenRules两个文件,前者包含了SAP认为要写出Clean的ABAP代码,须要遵循的准则和尽可能避免的误区。区块链
而CleanABAPTheGoldenRules这个文件,包含的就是SAP推荐的关于ABAP编程方方面面的最佳准则:
而Sub-sections文件夹里包含了一些话题的深刻阐述:
这些话题每个都值得用一篇文章展开聊,Jerry先挖个坑在这里,有机会再填:
Avoid Encodings
SAP这个github文件给出的推荐是,建议在给方法实现里的变量名取名时,避免使用前缀。下图红色高亮的代码是推荐的作法,而黑色的代码是应该避免的代码。
这颇有趣,由于Jerry在SAP内部作ABAP开发,遵循的原则偏偏就是第二种作法。
做者也深知这个建议和SAP官网help.sap.com上定义的ABAP编程规范里变量命名规范有相矛盾的地方,但仍是坚持认为变量名不要前缀,是更加符合现代编程规范的作法,而且让变量有更好的可读性。
Jerry的我的意见是,对于SAP partners的开发团队来讲,没必要纠结到底应该遵循help.sap.com上的变量命名规范,仍是应该按照本文介绍的SAP github上介绍的规范来——更重要的是,整个团队内部达成一致,选择一套坚定执行。
Enumerations.md
在ABAP里使用枚举类型的几种方式:
Exceptions
ABAP异常处理的最佳实践。
Function Groups vs. Classes
给了为何坚定推荐再也不使用function group / function module,而是鼓励你们投入到面向对象编程怀抱的缘由。
Modern ABAP Language Elements
搜集了一些现代的ABAP语法和ABAP关键字的用法。
Upper vs. Lower Case
ABAP 语言的大小写规范,常常会让不少刚刚从其余编程语言转过来的程序员以为摸不着头脑,Jerry当年刚刚从C++编程转到ABAP编程也是如此。
这个子话题给出了推荐的大小写使用场景。
由于Jerry的平常工做几乎不会用到ABAP,因此我也没有时间就这些话题深刻展开,你们能够好好利用这个Github仓库,让本身的团队都能开发一套clean的ABAP代码出来,感谢阅读。
更多阅读