SAP官方發(fā)布的ABAP編程規(guī)范
最近有朋友在公眾號后臺給我留言,“Jerry啊,你最近寫的都是一些SAP研究院里面用到的新技術(shù),能不能寫點SAP傳統(tǒng)的開發(fā)技術(shù)比如ABAP相關(guān)的東西”?
其實Jerry在剛開始寫這個公眾號的時候,是寫過很多ABAP的技術(shù)文章:
Jerry的ABAP, Java和JavaScript亂燉
ABAP開發(fā)人員未來應(yīng)該學(xué)些什么
Jerry 2017年的五一小長假:8種經(jīng)典排序算法的ABAP實現(xiàn)
Jerry的ABAP原創(chuàng)技術(shù)文章合集
300行ABAP代碼實現(xiàn)一個最簡單的區(qū)塊鏈原型
使用Java+SAP云平臺+SAP Cloud Connector調(diào)用ABAP On-Premise系統(tǒng)里的函數(shù)
在SAP云平臺的CloudFoundry環(huán)境下消費ABAP On-Premise OData服務(wù)
ABAP vs Java, 蛙泳 vs 自由泳
聊聊C語言和ABAP
動手使用ABAP Channel開發(fā)一些小工具,提升日常工作效率
我用ABAP做過的那些無聊的事情
不喜歡SAP GUI?那試試用Eclipse進行ABAP開發(fā)吧
使用Visual Studio Code編寫和激活A(yù)BAP代碼
你的ABAP程序給佛祖開過光么?來試試Jerry這個小技巧
在SAP云平臺ABAP編程環(huán)境上編寫第一段ABAP程序
因為Jerry最近的工作,需要使用ABAP編程的場景不多,所以近期這方面的文章少了點。
在Jerry之前的文章 寫在Github被微軟收購之際 - Github的那些另類用法 曾經(jīng)提到,SAP在Github上也有很多開源項目:
https://github.com/sap
截至到今天(2019年7月26日),已經(jīng)有399個倉庫了。
Jerry年初去成都天府軟件園一家SAP partners公司拜訪時,這家公司的技術(shù)主管曾經(jīng)問過我,有沒有推薦的ABAP編程規(guī)范。Jerry當(dāng)時想了想,回答說,雖然SAP研究院內(nèi)部確有嚴格清晰寫成文檔,多達七八十頁的ABAP編程規(guī)則,但Jerry不確定這些編程規(guī)則是否能直接發(fā)給非SAP員工。
今天Jerry覺得這個問題我已經(jīng)有完美的答案了:我們來聊聊上述SAP開源的Github倉庫其中之一,包含了SAP官方推薦的ABAP編程規(guī)范:
https://github.com/SAP/styleguides
cheat-sheet文件夾里主要包含了CleanABAPCheatSheet和CleanABAPTheGoldenRules兩個文件,前者包含了SAP認為要寫出Clean的ABAP代碼,需要遵循的準則和盡量避免的誤區(qū)。
而CleanABAPTheGoldenRules這個文件,包含的就是SAP推薦的關(guān)于ABAP編程方方面面的最佳準則:
而Sub-sections文件夾里包含了一些話題的深入闡述:
這些話題每一個都值得用一篇文章展開聊,Jerry先挖個坑在這里,有機會再填:
Avoid Encodings
SAP這個github文件給出的推薦是,建議在給方法實現(xiàn)里的變量名取名時,避免使用前綴。下圖紅色高亮的代碼是推薦的做法,而黑色的代碼是應(yīng)該避免的代碼。
這很有趣,因為Jerry在SAP內(nèi)部做ABAP開發(fā),遵循的原則恰恰就是第二種做法。
Jerry的個人意見是,對于SAP partners的開發(fā)團隊來說,不必糾結(jié)到底應(yīng)該遵循h(huán)elp.sap.com上的變量命名規(guī)范,還是應(yīng)該按照本文介紹的SAP github上介紹的規(guī)范來——更重要的是,整個團隊內(nèi)部達成一致,選擇一套堅決執(zhí)行。
Enumerations.md
在ABAP里使用枚舉類型的幾種方式:
Exceptions
ABAP異常處理的最佳實踐。
Function Groups vs. Classes
給了為什么堅決推薦不再使用function group / function module,而是鼓勵大家投入到面向?qū)ο缶幊虘驯У脑颉?/p>
Modern ABAP Language Elements
搜集了一些現(xiàn)代的ABAP語法和ABAP關(guān)鍵字的用法。
Upper vs. Lower Case
ABAP 語言的大小寫規(guī)范,經(jīng)常會讓很多剛剛從其他編程語言轉(zhuǎn)過來的程序員覺得摸不著頭腦,Jerry當(dāng)年剛剛從C++編程轉(zhuǎn)到ABAP編程也是如此。
這個子話題給出了推薦的大小寫使用場景。
因為Jerry的日常工作幾乎不會用到ABAP,所以我也沒有時間就這些話題深入展開,大家可以好好利用這個Github倉庫,讓自己的團隊都能開發(fā)一套clean的ABAP代碼出來,感謝閱讀。
更多閱讀
Jerry的ABAP, Java和JavaScript亂燉
ABAP開發(fā)人員未來應(yīng)該學(xué)些什么
Jerry 2017年的五一小長假:8種經(jīng)典排序算法的ABAP實現(xiàn)
Jerry的ABAP原創(chuàng)技術(shù)文章合集
300行ABAP代碼實現(xiàn)一個最簡單的區(qū)塊鏈原型
使用Java+SAP云平臺+SAP Cloud Connector調(diào)用ABAP On-Premise系統(tǒng)里的函數(shù)
在SAP云平臺的CloudFoundry環(huán)境下消費ABAP On-Premise OData服務(wù)
ABAP vs Java, 蛙泳 vs 自由泳
聊聊C語言和ABAP
動手使用ABAP Channel開發(fā)一些小工具,提升日常工作效率
我用ABAP做過的那些無聊的事情
不喜歡SAP GUI?那試試用Eclipse進行ABAP開發(fā)吧
使用Visual Studio Code編寫和激活A(yù)BAP代碼
你的ABAP程序給佛祖開過光么?來試試Jerry這個小技巧
在SAP云平臺ABAP編程環(huán)境上編寫第一段ABAP程序
ABAP GitHub
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。