Clean ABAP ⑪ 코드 서식: 줄 길이 120자, 정렬, 파라미터 줄바꿈
3줄 요약
서식은 "쓰기 편한 것"이 아니라 "읽기 편한 것"에 맞추고, 팀 전체가 같은 방식을 써요.
활성화 전에 ABAP 포매터(Shift+F1)를 돌리고, 대문자/소문자 키워드는 팀 설정을 따라요.
한 줄에 한 문장, 120자 안쪽, 파라미터는
=를 맞춰 줄바꿈해서 어디까지가 한 파라미터인지 보이게 해요.
어떤 상황에서 쓰나요
코드 리뷰에서 정렬이나 들여쓰기 이야기로 시간을 쓰는 팀이라면, 서식 규칙을 문서로 정해 두는 것만으로도 논쟁이 줄어요. Clean ABAP 의 서식 장은 가이드가 먼저 이렇게 말해요. 아래 제안은 "읽기에 최적화"한 것이고 ABAP 포매터가 다 처리해 주지 않아서 이름 길이가 바뀌면 손으로 다시 맞출 일이 생겨요. 그게 싫으면 일부 정렬 규칙은 버려도 좋다고요.
핵심 내용
팀 차원
일관성이 첫째예요. 남의 코드를 고칠 때는 그 프로젝트의 서식을 따르고, 규칙을 바꾸려면 리팩터링 모범 사례로 시간을 두고 바꿔요.
활성화 전에 ABAP 포매터를 적용해요(SE80, SE24, ADT 에서 Shift+F1, SAP GUI 에서는 프리티 프린터). 서식이 안 맞는 큰 레거시를 건드릴 때는 변경 목록과 이관 의존성이 커지니 선택한 줄에만 적용하거나, 오브젝트 전체 서식을 별도 이관 요청으로 분리하라고 해요.
팀 포매터 설정을 써요. ADT 에서는 프로젝트 속성의 ABAP Development > Editors > Source Code Editors > ABAP Formatter, SAP GUI 에서는 유틸리티 > 설정 > ABAP 편집기 > 프리티 프린터 메뉴예요. 키워드 대소문자는 가이드도 분명한 지침을 주지 않고 팀이 정하라고 해요.
한 줄 단위
한 줄에 한 문장만 써요(
DATA do_this TYPE i. do_this = input + 3.는 안티패턴).줄 길이는 120자까지예요. 80, 72자는 옛 터미널의 한계라 좁고, 100자도 무난하지만 장황한 ABAP 에는 120자가 조금 낫다고 해요. ADT 는 Window > Preferences > General > Editors > Text Editors 에서 인쇄 여백 선을 120자로 보이게 할 수 있어요.
쓸데없는 공백을 줄여요(
calculate( items = items ) .는 안 돼요).빈 줄은 서로 다른 일을 구분할 때 한 줄만 써요. 빈 줄로 나누고 싶은 마음이 든다면 메서드가 한 가지 일을 하지 않는다는 신호일 수 있어요. 문장 안에 빈 줄을 넣으면 새 문장으로 오해하기 쉬워요. 빈 줄이 의미 있는 경우는 여러 줄에 걸친 문장 앞뒤에서뿐이에요.
정렬
같은 객체에 대한 대입은 정렬해서 묶음임을 보여 줘요(
structure-type = 'A'./structure-id = '4711'., 또는VALUE #( type = 'A' id = '4711' )). 서로 관계없는 대입은 가지런히 맞추지 않아요.TYPE절은 정렬하지 않아요. 변수와 타입이 서로 붙어 있어야 하고, 정렬하면 가장 긴 이름이 바뀔 때마다 줄줄이 고쳐야 해요.연쇄 대입(
var1 = var2 = var3.)은 쓰지 않아요. ABAP 에서=는 비교에도 쓰여서 헷갈려요. 두 줄로 풀어 써요.
호출 줄바꿈
닫는 괄호는 줄 끝에 붙여요.
파라미터가 하나면 한 줄에 써요.
파라미터는 호출 뒤에 붙이고, 줄이 너무 길면 다음 줄로 내려요. 내린 파라미터는 호출 아래로 들여쓰고, 키워드(
EXPORTING,CHANGING)는 2칸, 파라미터는 4칸 들여써요. 탭 키로 들여쓰기를 해요.파라미터가 여럿이면 줄을 나누고
=를 맞춰요.
modify->update( node = if_fra_alert_c=>node-item
key = item->key
data = item
changed_fields = changed_fields ).호출 전체가 너무 길어지면 호출 자체를 새 줄에서 시작해요.
인라인 선언(
VALUE,NEW)도 메서드 호출처럼 들여써요.
주의할 점
정렬 규칙은 가이드도 인정하듯 이름 길이가 바뀌면 수동 작업이 늘어요. 호출 아래 4칸 들여쓰기 패턴이 "이름 길이가 바뀌어도 서식이 안 깨지는" 가장 좋은 선택이라는 설명도 원문에 있어요.
이 장의 키워드 대소문자 설정, 포매터 메뉴 경로는 SAP GUI 와 ADT 버전에 따라 이름이 다를 수 있어요. 제 환경에서 직접 눌러 확인하지는 않았어요.
원문은 2019년 첫 공개, 2025년 3월 마지막 수정본이에요. 이 글은 읽고 정리한 것이에요.
원문 주소: https://github.com/SAP/styleguides/blob/main/clean-abap/CleanABAP.md#formatting
출처와 이용 안내
원문: Clean ABAP - Formatting · 작성자 SAP SE and contributors SAP/styleguides · 작성일 2019-05-01 · 기준 릴리스 무관 · 확인일 2026-10-25
이 글은 위 원문을 읽고 한국어로 요약·재구성한 글이며 번역본이 아니에요. 원문의 저작권은 작성자와 SAP에 있어요.
원문은 CC BY 3.0 라이선스(https://creativecommons.org/licenses/by/3.0/)로 공개된 자료예요. 이 글은 내용을 한국어로 줄이고 순서를 바꾼 변경본이며, 원저작자가 이 글을 보증하지 않아요.
설정과 화면은 릴리스마다 달라요. 적용하기 전에 원문과 SAP Help Portal, 관련 SAP Note에서 최신 내용을 확인해 주세요.
SAP와 SAP 제품명은 SAP SE의 상표예요. 바로투입은 SAP와 관련이 없어요.
댓글 0
아직 댓글이 없어요.
로그인하고 댓글 쓰기