[Xcode] #pragma MARK, TODO, FIXME 주석 사용법

반응형

Objective-C로 아이폰 앱을 만들 때는 #pragma mark - 주석 내용을 포함해서 주석을 나타내던 것이 Swift로 넘어오면서 MARK로 변경되었습니다. 기존의 #pragma라는 부분을 더 이상 쓰지 않아도 됩니다. 또한 TODO, FIXME와 같은 구문도 추가할 수 있습니다. 다른 언어 C++, C에서는 보통 전처리 구문으로 인식하는 #pragma는 define이나 include와 같이 사용됩니다. 하지만 Xcode에서는 이를 전처리 구문으로 쓰기보다는 메서드의 구역을 나눌 때 보통 사용합니다. 스위프트 같은 경우에는 extension이라는 문법이 추가돼서 메서드의 구분을 줄 때 extension을 사용하기도 합니다.

 

영역 구분관련 주석의 종류

  • // MARK : 설명
  • // TODO : 할 일
  • // FIXME : 고쳐야 할 부분
  • // !!!: 경고
  • // ???: 의문점

 

 메서드 리스트를 보면 주석 처리한 부분과 메서드들이 구분된 모습을 볼 수 있습니다. 특히 아이콘 모양이 조금 틀린데요. MARK의 경우 그냥 설명 모양의 아이콘이 표시되고 TODO의 경우 TODO 리스트 모양의 아이콘 Fixme의 경우 반창고 모양의 아이콘이 표시됩니다. 재밌네요. 그리고 Ex 같은 경우는 Extension, M의 경우는 메서드, E는 Enum, P는 Property를 나타냅니다.

 

MARK, Extensions


 

 

 코드에서는 다음과 같이 주석에 TODO, MARK 등을 포함시킬 수 있습니다.

 

TODO, MARK 차이점


 

 

 만약 다음과 같이 // MARK: 에 - (대쉬) 기호를 추가한 뒤에 설명을 적게 되면 줄이 에디터에 희미한 줄이 생기는 것을 볼 수 있습니다. 구분선이 생기는 것이죠. 메서드 내비게이션에서도 구분선이 추가된 것을 볼 수 있습니다.

 

- 구분선 추가


 

 

Pragma의 의미가 Action 또는 만능정도의 사전적 의미를 가지고 있는 것 같습니다. 하지만 제 생각에는 추측이긴 합니다만, 이게 주석과 관련이 있고 다른 언어에서는 컴파일러의 전처리명령이라는 점에서 아마도 실용주의를 의미하는 프래그머티즘 (Pragmatism)이랑 관련이 있는 것 같습니다.

 

 

실용주의 - 위키백과, 우리 모두의 백과사전

실용주의(實用主義) 또는 프래그머티즘(Pragmatism)은 1870년 무렵 미국에서 시작된 철학적 전통이다.[1] 일반적으로 찰스 샌더스 퍼스의 《실용적 극대》 발표를 실용주의의 출발로 본다. “ 당신의

ko.wikipedia.org

 

저는 개인적으로 extension을 많이 활용하는 편입니다. 특히 델리게이터를 구분하거나 특정 기능들을 구분 지을 때 extension으로 그룹을 만듭니다. 그리고 그것을 설명하는 주석을 // MARK: 로 추가합니다. 생각보다 TODO나 FIXME는 잘 쓰지 않게 되네요. 특히 구분선을 잘 쓰지는 않았는데 이번에 이 주석을 정리하면서 새롭게 알았습니다. 매우 유용합니다.

반응형

댓글

Designed by JB FACTORY