SAP官方發佈的ABAP編程規範

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

其實Jerry在剛開始寫這個公衆號的時候,是寫過不少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代碼出來,感謝閱讀。

更多閱讀

相關文章
相關標籤/搜索