Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
joachimrees1
Active Contributor
I try to explore and embrace cleanABAP and you might know that I have started with the very easy "get rid of empty lines".

There are other things I can do, in regards to make the code denser and thus cleaner, easier to understand, so I see more code with one glace and need less scrolling. -> Optimize for reading.

Here is an example:

I might start with this (some old code I find and want to clean)
        lref_srv_wt->to_create_move_hu(
EXPORTING
iv_commit_work = abap_true
iv_wait = abap_true
it_create_hu = lt_create_hu
IMPORTING
ev_tanum = DATA(lv_tanum)
).

1. Remove unneeded line breaks:
        lref_srv_wt->to_create_move_hu( EXPORTING iv_commit_work = abap_true
iv_wait = abap_true
it_create_hu = lt_create_hu
IMPORTING ev_tanum = DATA(lv_tanum) ).

2. Indent, to align it:
        lref_srv_wt->to_create_move_hu( EXPORTING iv_commit_work = abap_true
iv_wait = abap_true
it_create_hu = lt_create_hu
IMPORTING ev_tanum = DATA(lv_tanum) ).

 

( I actually had to look up https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#align-parameters for making sure I am done here, as I had the temptation to also remove unneeded whitespace, braking the alignment on = but making my code denser.

Like so:
	lref_srv_wt->to_create_move_hu( EXPORTING iv_commit_work = abap_true
iv_wait = abap_true
it_create_hu = lt_create_hu
IMPORTING ev_tanum = DATA(lv_tanum) ).

 

Further [but more complicated, as in: there are prerequisites to it] things I could do:

[If had control over the method to_create_move_hu:]
- change the exporting parameter to a returning one, thus:
-> saving another line
-> being able to remove the then uneeded EXPORTING (https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#omit-the-optional-keyword-expor...)
lv_tanum = lref_srv_wt->to_create_move_hu( iv_commit_work = abap_true
iv_wait = abap_true
it_create_hu = lt_create_hu ).

[ If I had control over the rules I agreed to when joining the project] I also could get rid of Hungarian notation / prefixes ( https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#avoid-encodings-esp-hungarian-n... )
tanum = srv_wt->to_create_move_hu( commit_work = abap_true
wait = abap_true
create_hu = create_hu ).

It does look a lot better, doesn't it?

 

So what I did here, is give an example of how I do apply some rules of cleanAbap.

But my original thought was another one, and here I would appreciate some help: Steps 1 and 2 are not hard to do at all, they are really easy. They are so easy that I feel like I should not have to do them by hand: It should be one click/keystroke/quick-assist.
Is there a way AdT can help me do that? (Ref. my question: https://answers.sap.com/questions/13558374/adt-code-formater-to-help-towards-cleanabap-empty.html )

Thanks!
Joachim
8 Comments