ABAP 개발을 하다보면 누군가가 개발해 놓은 프로그램을 자주 보게 된다.
반대로 누군가는 내가 개발한 프로그램을 보게된다는 뜻이다.
처음 보는 프로그램을 분석하고 이해할 때 가장 가독성이 좋게하는데 유용한게 들여쓰기와 주석이라고 생각한다.
의외로 많은 프로그램들은 친절하게 프로그램 흐름에 관하여 작성해 놓지 않은 경우가 많다.
위의 이미지로 예를 들어 설명하자면 큰 흐름 단위별로 주석을 달아놓았고 IF와 같은 구문을 타고 들어가야하는 경우에는 들여쓰기를 한 경우와 하지않은 경우를 비교해 놓았다.
주석을 달아놓게될 경우 해당테이블이 뭔지 해당 IF문이 어떤 변수값을 가져와서 비교를 하는지 몰라도
주석만 보고도 프로그램의 흐름을 파악할 수 있다.
개발한 일자와 개발자 명(영어 약자 혹은 주로 사용하는 별칭)을 같이 입력해주면 더 좋다.
기존 개발된 내역에 추가적으로 수정이 된 경우에는 변경이력을 파악할 수 있도록 주석을 추가해주면 더 좋다.
이렇게 주석만 잘 갖춰진 프로그램이면 현업의 업무를 정확히 모른 상태에서 프로그램의 흐름을 이해하고 파악하는데 큰 도움이 될 수 있다.
다음은 들여쓰기에 대한 내용이다.
위 이미지는 들여쓰기를 한 경우와 안한경우에 대한 이미지이다.
그냥 두가지 경우를 놓고 보았을 때 딱히 보는데 불편함이 느껴지지 않을 수 도 있다.
그렇다면 아래 이미지를 보자
예시를 위해 만든 IF 절들이지만 왼쪽과 오른쪽을 봤을 때 어느 부분이 이해가 빠른가?
왼쪽과 오른쪽은 같은 형식의 IF 절인데 오른쪽이 확연히 이해가 빠르다고 느낄 수 있다.
극단적인 예시지만 실제 여러 프로그램 들을 보면 들여쓰기가 되어 있지않아 흐름 파악하는데 힘든 경우가 발생하곤 한다.
들여쓰기는 IF나 LOOP같은 조건을 타서 기존 흐름을 다르게 타게 되는 경우에 하면 좋은 것 같다.
들여쓰기를 어떻게 해야할지 모르겠다면 소스정렬(Pretty Printer) 기능을 사용해보자
단, 본인이 개발한 프로그램 소스 내에서만 하는걸 추천한다.
다른 개발자가 개발한 프로그램에 가독성을 위해 따로 들여쓰기를 해놓은 경우도 있을 수 있기 때문이다.
마지막으로 변수의 가독성에 대한 예시이다.
위와 아래 변수를 보게되면 첫번째 변수의 경우 변수인건 알겠는데 무슨 목적으로 만든 변수인지 모른다.
반대로 두번째 변수의 경우에는 거래처 코드를 담기위한 변수라는 것을 알 수 있다.
이렇게 변수 명을 가독성 좋게 작성하는 버릇도 프로그램 소스의 가독성을 높이는데 크게 이바지한다.
이러한 부분들 외에 수많은 가독성을 좋게하는 방법이 있겠지만,
개발을 해오면서 가장 크게 와닿았던 부분을 작성해보았다.
위의 세가지는 개발할때 기본이라고 생각하며, 개발일정이 급박할때 더욱더 놓치기 쉬운 부분이니 버릇처럼 신경써주면 좋을 것 같다.
'SAP > ABAP' 카테고리의 다른 글
[SAP/ABAP] ST04 - SqlEditor 쿼리 실행 (1) | 2024.10.08 |
---|---|
<ABAP> cx_sy_conversion_no_num 에러 (1) | 2024.09.30 |
[SAP/ABAP] 문자열검색 - RS_ABAP_SOURCE_SCAN (0) | 2024.09.24 |
<ABAP> BDC(Batch Data Communication) - VKM1 (1) | 2024.09.19 |
<ABAP> ABAP EQ와 CP 문법 (0) | 2024.08.23 |