코드를 쓰는 것도 글쓰기의 일종이라는 얘기를 많이 듣습니다.
혼자 간단한 프로젝트를 할 때는 이미 모든 코드의 의미를 알고 있기 때문에 크게 가독성을 신경 쓰지 않아도 괜찮을 수 있지만
프로젝트 규모가 커지고, 함께 코드를 쓰는 사람들이 많아지면 가독성을 중요하게 생각해야 합니다.
한 달 뒤에 자신이 짠 코드를 보고 ( ... ? ) 라는 생각을 하지 않으려면
좋은 변수명, 함수명과 적절한 주석을 잘 남겨 두어야 합니다.
괜히 개발자가 변수명을 짓는데 시간을 오래 쓰는 게 아니겠죠 ? !
좋은 변수명에 대한 글은 컨벤션이 정해져 있는 회사도 있고 좋은 글들이 많아서
쉽게 접하게 되지만 주석에 대한 글은 많지 않은 것 같습니다.
오늘은 xcode에서 제공하는 주석 기능이 어떤 것들이 있는지 정리해보는 시간을 가져보려 합니다.
사실 나중에 제가 보려고 쓰는 글입니다 ㅎ-ㅎ
기본 주석
// 한줄 주석
/*
여러줄
주석처리
가능합니다
*/
pragma mark
// MARK: 마크 주석
// TODO: 투두 주석
// FIXME: 픽스미 주석
// ???: 이게모야 주석
// !!!: 느낌표 주석
이렇게 5개의 pragma 주석이 있습니다.
이 주석을 남겨두면 네비게이터 내에 바로가기가 생기게 됩니다. 해당 flag를 선택해서 그 부분으로 바로 이동할 수 있습니다.
코드가 길어지는 경우에 아주 유용하게 쓸 수 있습니다.
그리고 TODO와 FIXME를 적절히 잘 사용하면 추후에 처리해야 할 작업을 정리해둘 수 있어서 편리합니다.
// MARK: - 마크 주석
// TODO: - 투두 주석
// FIXME: - 픽스미 주석
// ???: - 이게모야 주석
// !!!: - 느낌표 주석
주석 옆에 ' - ' 를 쓰면 해당 주석 위에 구분선이 생기게 됩니다.
네비게이터 내에서도 해당 주석을 찾기가 힘들 때가 있는데 ' - '를 남겨두면 깔끔하게 구분할 수 있습니다.
Quick help
xcode 내에서 option를 누르고 func이나 class를 선택하면
해당 func이나 class의 quick help을 볼 수 있습니다.
기존 스위프트에 구현되어있는 데이터 타입이나 메서드들은 이런 식으로 quick help에 설명이 잘 정리되어 있어서
어떤 함수인지 정확하게 모르고 구현부를 잘 몰라도 대략적으로 어떻게 사용할 수 있고 어떤 내용이 return 되는지 파악할 수 있습니다.
이렇게 quick help를 잘 작성해두면 함께 협업하는 입장에서 좋을 것 같네요 :)
이 quick help를 작성하는 방법을 알아보겠습니다.
/**
소영에 대한 정보를 담은 구조체
Description을 적을 수 있습니다 구구절절
*/
struct Soyoung {
let name: String = "이소영"
/**
소영을 행복하게 만드는 함수
설명 적는 라인
- parameters:
- dessert: 디저트 유무
- money: 돈 많이 주세요
- newThings: 새로운 것 최고야
- Returns: 행복해졌는지 Bool 타입 반환
**Example**
```
let soyoungStruct = Soyoung()
soyoungStruct.happy(dessert: true, money: 10000, newThings: true)
```
*/
func happy(dessert: Bool, money: Int, newThings: Bool) -> Bool {
return true
}
}
이런식으로 /** 와 */ 사이에 작성해주면
Summary, Discussion, Parameter 설명, Example 코드, Return 형태 등등을 파악할 수 있습니다 :)
더 다양한 포맷을 제공하고 있는데 많이 쓸 것 같은 것 위주로 예제를 작성해보았습니다 ㅎㅎ
더 자세히 알고 싶으신 분이 계시다면 아래 문서를 참고해주세요 :)
Markup Formatting Reference: Markup Overview
Markup Formatting Reference
developer.apple.com
이렇게 Xcode 주석을 작성법을 정리해보았습니다.
구조가 복잡하고 데이터에 대한 설명이 필요한 경우에 적절하게 사용하면 너무 좋을 것 같습니다.
아마 이 게시글의 조회수 반은 제가 차지하지 않을까 싶네요 ( 자주 들어올 예정 ... )
글 읽어주셔서 감사합니다 :)
'iOS > iOS' 카테고리의 다른 글
[iOS] iOS 16 enable Developer Mode (2) | 2022.09.24 |
---|---|
[iOS] 커스텀 폰트, 다국어 폰트 적용하기 (0) | 2022.09.04 |
[iOS] 번역 꿀팁 정리 (0) | 2022.08.15 |
[iOS] isHidden에 대하여 (0) | 2022.04.02 |
[iOS] main.swift 에 대하여 - Command Line Tool (0) | 2022.02.12 |