check_migration_list.md

August 28, 2023 ยท View on GitHub

Legend:

  • TBM = To be migrated
  • TBD = To be discussed
Legacy checkCloud checkQuickfixesAdditional info
Avoid default table keys"Internal table definitions with default key" (/cc4a/avoid_default_key)yes
Boolean input parameter"Method Signature" (/cc4a/method_signature), parameter CheckInputParamBooleanno
CALL METHOD usageTBM (#1)yes
Chain declaration usage"Chained declarations" (/cc4a/chain_declaration)yes
CHECK statement positionnon/aThis check is a subset of the SAP-delivered Extended Program Check
CHECK in LOOPTBM (#5)yes
COLLECT usageTBM (#6)nonot relevant for ABAP Cloud (COLLECT is forbidden)
Combination of output parameters"Method Signature" (/cc4a/method_signature), parameter CheckOutputParamTypeno
Comment positionTBDnoThe Cloud API for ABAP code analysis currently does not support comments
Comment typeTBDnoThe Cloud API for ABAP code analysis currently does not support comments
Comment usageTBDnoThe Cloud API for ABAP code analysis currently does not support comments
Constant interface"Constants in Interfaces" (/cc4a/check_constant_interface)no
Cyclomatic complexitynonen/aThis is a subset of the SAP-delivered check "Procedural metrics"
CX_ROOT usagenonen/aThis is a subset of the SAP-delivered Extended Program Check
Database access in unit tests"Database access in unit tests" (/cc4a/db_access_in_ut)no
Deprecated classesTBDyesCurrently this check only searches for two specific classes/interfaces, and it does not follow any explicit recommendation in the style guide
Deprecated key wordsTBM (#1)yes
Empty catchnonen/aThis is a subset of the SAP-delivered Extended Program Check
Empty IF branchesnonen/aThis is a subset of the SAP-delivered Extended Program Check
Empty procedurenonen/aThis is a subset of the SAP-delivered Extended Program Check
Assignment chaining"Assignment Chaining" (/cc4a/equals_sign_chaining)yes
External call in unit testnonen/aDoes not correspond to any section in the style guide
FORM usageTBM (#10)nonot relevant for ABAP Cloud (PERFORM is forbidden)
FUNCTION usageTBM (#10)nonot relevant for ABAP Cloud (non-RFC function module cannot be used anyway)
Magic numbersnonen/aThis is a subset of the SAP-delivered Extended Program Check
Message easy to findTBM (#11)perhapscurrently blocked because there is no released remote API to find out whether a message class exists
Message translationnonen/aThis is a subset of the SAP-delivered Extended Program Check
Boolean method namesTBDnoWhile this seems to be "in the spirit" of Clean ABAP, it does not actually correspond to any section in the style guide
Missing interface"Method Signature" (/cc4a/method_signature), parameter CheckPubMethodNoInterfacenoCreating a new global interface is not currently possible via the quick fix API
Nesting depthnonen/aSubset of SAP-delivered "Procedural metrics" check
Classic exception usagenonen/aSubset of SAP-delivered Extended Program Check
Number of attributesnonen/aSubset of SAP-delivered "Object-oriented metrics" check
Number of eventsnonen/aSubset of SAP-delivered "Object-oriented metrics" check
Number of executable statementsnonen/aSubset of SAP-delivered "Procedural metrics" check
Number of interfacesnonen/aSubset of SAP-delivered "Object-oriented metrics" check
Number of methodsnonen/aSubset of SAP-delivered "Object-oriented metrics" check
Number of public attributesnonen/aSubset of SAP-delivered "Object-oriented metrics" check
Number of output parameters"Method Signature" (/cc4a/method_signature), parameter CheckOutputParamNumbernoShould be merged with "Combination of output parameters" check
Prefer CASE to ELSEIFTBM (#12)yes
Prefer RETURNING to EXPORTING"Method Signature" (/cc4a/method_signature)yes
Prefer IS NOT to NOT IS""NOT IS" in logical expressions" (/cc4a/prefer_is_not )yes
Prefer line_* over READ TABLE/LOOP AT ... WHERETBM (#1)yesConsider merging into "deprecated keywords"
Prefer NEW to CREATE OBJECTTBM (#1)yesConsider merging into "deprecated keywords"
Prefer pragmas to pseudo commentsTBDn/aThe Cloud API for ABAP code analysis currently does not support pragmas
Pseudo comment usageTBDnoThe ATC already offers the option to not consider pseudo comments, so the stated purpose of this check doesn't need a check. However, one could see a use case for actually finding all locations where pseudo comments are used.
Omit optional EXPORTINGTBM (#1)yes
Optional parameters"Method Signature" (/cc4a/method_signature), parameter CheckInputParamOptionalno
READ TABLE into field symbolsTBDnoThe Extended Program Check has a similar but not identical check
RECEIVING usageTBM (#1)yes
Returning name"Method Signature" (/cc4a/method_signature), parameter CheckRetParamNotNamedResultyes
Scope of variableTBM (#14)yes
Self-reference"Find unnecessary self-references" (/cc4a/avoid_self_reference)yes
TEST-SEAM usage"Usage of TEST-SEAM" (/cc4a/avoid_test_seam)yes
Text assemblyTBM (#1)yes
Unit test coveragenonen/aThere is no Cloud API for executing unit tests (yet) and since unit tests are often executed during an ATC run anyway, coverage should be measured in that step and not by an additional ATC check - executing unit tests twice may lead to performance degradation.