SAP官方发布的ABAP编程规范
最近有朋友在公眾號后臺給我留言,“Jerry啊,你最近寫的都是一些SAP研究院里面用到的新技術,能不能寫點SAP傳統的開發技術比如ABAP相關的東西”?
其實Jerry在剛開始寫這個公眾號的時候,是寫過很多ABAP的技術文章:
-
Jerry的ABAP, Java和JavaScript亂燉
-
ABAP開發人員未來應該學些什么
-
Jerry 2017年的五一小長假:8種經典排序算法的ABAP實現
-
Jerry的ABAP原創技術文章合集
-
300行ABAP代碼實現一個最簡單的區塊鏈原型
-
使用Java+SAP云平臺+SAP Cloud Connector調用ABAP On-Premise系統里的函數
-
在SAP云平臺的CloudFoundry環境下消費ABAP On-Premise OData服務
-
ABAP vs Java, 蛙泳 vs 自由泳
-
聊聊C語言和ABAP
-
動手使用ABAP Channel開發一些小工具,提升日常工作效率
-
我用ABAP做過的那些無聊的事情
-
不喜歡SAP GUI?那試試用Eclipse進行ABAP開發吧
-
使用Visual Studio Code編寫和激活ABAP代碼
-
你的ABAP程序給佛祖開過光么?來試試Jerry這個小技巧
-
在SAP云平臺ABAP編程環境上編寫第一段ABAP程序
因為Jerry最近的工作,需要使用ABAP編程的場景不多,所以近期這方面的文章少了點。
在Jerry之前的文章?寫在Github被微軟收購之際 - Github的那些另類用法?曾經提到,SAP在Github上也有很多開源項目:
https://github.com/sap
截至到今天(2019年7月26日),已經有399個倉庫了。
Jerry年初去成都天府軟件園一家SAP partners公司拜訪時,這家公司的技術主管曾經問過我,有沒有推薦的ABAP編程規范。Jerry當時想了想,回答說,雖然SAP研究院內部確有嚴格清晰寫成文檔,多達七八十頁的ABAP編程規則,但Jerry不確定這些編程規則是否能直接發給非SAP員工。
今天Jerry覺得這個問題我已經有完美的答案了:我們來聊聊上述SAP開源的Github倉庫其中之一,包含了SAP官方推薦的ABAP編程規范:
https://github.com/SAP/styleguides
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代碼出來,感謝閱讀。
更多閱讀
-
Jerry的ABAP, Java和JavaScript亂燉
-
ABAP開發人員未來應該學些什么
-
Jerry 2017年的五一小長假:8種經典排序算法的ABAP實現
-
Jerry的ABAP原創技術文章合集
-
300行ABAP代碼實現一個最簡單的區塊鏈原型
-
使用Java+SAP云平臺+SAP Cloud Connector調用ABAP On-Premise系統里的函數
-
在SAP云平臺的CloudFoundry環境下消費ABAP On-Premise OData服務
-
ABAP vs Java, 蛙泳 vs 自由泳
-
聊聊C語言和ABAP
-
動手使用ABAP Channel開發一些小工具,提升日常工作效率
-
我用ABAP做過的那些無聊的事情
-
不喜歡SAP GUI?那試試用Eclipse進行ABAP開發吧
-
使用Visual Studio Code編寫和激活ABAP代碼
-
你的ABAP程序給佛祖開過光么?來試試Jerry這個小技巧
-
在SAP云平臺ABAP編程環境上編寫第一段ABAP程序
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的SAP官方发布的ABAP编程规范的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 英伟达 RTX 4070 显卡发布后,A
- 下一篇: GraphQL支持层级结构的query