SAP官方釋出的ABAP程式設計規範

i042416發表於2019-08-09

最近有朋友在公眾號後臺給我留言,“Jerry啊,你最近寫的都是一些SAP研究院裡面用到的新技術,能不能寫點SAP傳統的開發技術比如ABAP相關的東西”?

SAP官方釋出的ABAP程式設計規範

其實Jerry在剛開始寫這個公眾號的時候,是寫過很多ABAP的技術文章:

因為Jerry最近的工作,需要使用ABAP程式設計的場景不多,所以近期這方面的文章少了點。

在Jerry之前的文章  寫在Github被微軟收購之際 - Github的那些另類用法  曾經提到,SAP在Github上也有很多開源專案:

https://github.com/sap

截至到今天(2019年7月26日),已經有399個倉庫了。

SAP官方釋出的ABAP程式設計規範

Jerry年初去成都天府軟體園一家SAP partners公司拜訪時,這家公司的技術主管曾經問過我,有沒有推薦的ABAP程式設計規範。Jerry當時想了想,回答說,雖然SAP研究院內部確有嚴格清晰寫成文件,多達七八十頁的ABAP程式設計規則,但Jerry不確定這些程式設計規則是否能直接發給非SAP員工。

今天Jerry覺得這個問題我已經有完美的答案了:我們來聊聊上述SAP開源的Github倉庫其中之一,包含了SAP官方推薦的ABAP程式設計規範:

https://github.com/SAP/styleguides

SAP官方釋出的ABAP程式設計規範

cheat-sheet資料夾裡主要包含了CleanABAPCheatSheet和CleanABAPTheGoldenRules兩個檔案,前者包含了SAP認為要寫出Clean的ABAP程式碼,需要遵循的準則和儘量避免的誤區。

SAP官方釋出的ABAP程式設計規範

而CleanABAPTheGoldenRules這個檔案,包含的就是SAP推薦的關於ABAP程式設計方方面面的最佳準則:

SAP官方釋出的ABAP程式設計規範

而Sub-sections資料夾裡包含了一些話題的深入闡述:

SAP官方釋出的ABAP程式設計規範

這些話題每一個都值得用一篇文章展開聊,Jerry先挖個坑在這裡,有機會再填:

Avoid Encodings

SAP這個github檔案給出的推薦是,建議在給方法實現裡的變數名取名時, 避免使用字首 。下圖紅色高亮的程式碼是推薦的做法,而黑色的程式碼是應該避免的程式碼。

SAP官方釋出的ABAP程式設計規範

這很有趣,因為Jerry在SAP內部做ABAP開發,遵循的原則恰恰就是第二種做法。

作者也深知這個建議和SAP官網help.sap.com上定義的ABAP程式設計規範裡變數命名規範有相矛盾的地方,但還是堅持認為變數名不要字首,是更加符合現代程式設計規範的做法,並且讓變數有更好的可讀性。

SAP官方釋出的ABAP程式設計規範

Jerry的個人意見是,對於SAP partners的開發團隊來說,不必糾結到底應該遵循help.sap.com上的變數命名規範,還是應該按照本文介紹的SAP github上介紹的規範來——更重要的是,整個團隊內部達成一致,選擇一套堅決執行。

Enumerations.md

在ABAP裡使用列舉型別的幾種方式:

SAP官方釋出的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程式碼出來,感謝閱讀。

更多閱讀


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2653143/,如需轉載,請註明出處,否則將追究法律責任。

相關文章