生活随笔
收集整理的這篇文章主要介紹了
ABAP代码检查的注意事项有哪些
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
ABAP代碼檢查關注點:標準檢查工具、命名規(guī)則與代碼規(guī)范、代碼邏輯及語法、程序性能等 | 標準工具檢查 | | SCI檢查結果沒有ERROR,Waring控制在每2000行代碼不超過5個 | | SLIN檢查結果沒有ERROR,Waring控制在每2000行代碼不超過5個 | | 程序的格式 | | 是否使用了ABAP編寫模板? | | 程序頭部注釋內(nèi)容是否填寫完整? | | 程序變更記錄是否完整,變更處是否有注釋? | | 關鍵查詢語句和處理邏輯是否有注釋? | | 子程序是否都有注釋,注釋是否準確清晰? | | 代碼是否用Pretty Printer格式化? | | 關鍵字是否都大寫,其他小寫? | | 單行代碼是否過長? | | 命名規(guī)則與代碼規(guī)范 | | 程序名命名是否符合規(guī)范? | | 對象屬性設置是否完整和正確? | | 全局變量、局部變量、內(nèi)表、工作區(qū)命名是否符合規(guī)范? | | Form子程序和參數(shù)命名是否符合規(guī)范? | | 數(shù)據(jù)字典對象命名是否符合規(guī)范?? ? 包括透明表、結構、視圖、索引、數(shù)據(jù)元素、域、搜索幫助、鎖對象 | | 事務名稱命名是否符合規(guī)范? | | 消息類命名是否符合規(guī)范? | | 屏幕命名和Module命名是否符合規(guī)范? | | 函數(shù)組命名是否符合規(guī)范? | | Function Module及其參數(shù)命名是否符合規(guī)范? | | Enhancement/User Exit項目命名是否符合規(guī)范? | | 代碼邏輯與語法 | | 程序中不能使用“硬代碼”? | | 程序的連續(xù)代碼是否過長,是否按邏輯劃分子例程? | | 一個程序中可重復使用的代碼,是否用子程序封裝?多個程序可重復使用的代碼,是否用函數(shù)進行封裝? | | 函數(shù)中是否包含了異常處理機制? | | Symbol使用時必須確保之前的Assgin是成功的? | | 乘法或加法結果是否會導致溢出、除法除數(shù)是否可能為0? | | 是否存在未使用的程序分支或變量? | | BDC的使用是否是必須,能否有標準BAPI或函數(shù)代替? | | 多個IF…ELSE語句是否用CASE語句代替? | | 同時更新多個關聯(lián)數(shù)據(jù)表時,是否能保證數(shù)據(jù)更新的一致性? | | READ語法是否使用二分法查找數(shù)據(jù)?Read之前是否按照關鍵字段排序? | | 程序性能 | | 在循環(huán)中使用Select語句是否考慮性能問題? | | 盡可能的select具體字段而不是用select *取數(shù) | | 使用Inner Join抓取關聯(lián)表中數(shù)據(jù)的時候,不能超過3張表的關聯(lián)并且應該用小表關聯(lián)大表 | | SELECT語句的Where條件中應避免使用NOT和<> | | WHERE語句中是否將限制結果集最少的條件放前面? | | 盡可能避免使用Loop嵌套,無法避免的時候應該使用索引 | | 使用FOR ALL ENTRIES in itab,那么內(nèi)表必須進行檢查確保它不為空 | | 使用FOR ALL ENTRIES in itab,itab內(nèi)表必須先排序再排重 | | 使用CASE語句時,將最可能的值放在結構最頂端WHEN條件中 | | 使用Select語句查詢業(yè)務表,是否用ST05確認使用索引? | SCI檢查和SLIN檢查(se38進入需要檢查的程序) ? |
總結
以上是生活随笔為你收集整理的ABAP代码检查的注意事项有哪些的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。