| 나래 | 티모 | 벨라 |
|---|---|---|
| 사진1 | 사진2 | 사진3 |
| FE | FE | FE |
| GitHub | GitHub | GitHub |
2025년의 선택을 ‘결과’가 아닌 ‘이유’로 회고하여, 한 해 동안 형성된 나만의 판단 기준을 정리해주는 서비스
- 전체 기간:
2025.12.12 - 2025.12.22 - 개발 기간:
2025.12.16 - 2025.12.22
For building and running the application you need:
iOS 26.0
Xcode 26
Swift 6.2
- Front : SwiftUI
- 버전 및 이슈 관리 : Github, Github Issues
- 협업 툴 : Discord, Notion
|
|
|
- main (master) : 출시 가능한 상태의 코드를 모아두는 브랜치 (직접 push ❌, PR로만 병합)
- develop : 다음 버전을 위해 개발 중인 코드를 모으는 브랜치 (기본 베이스)
- feature : 기능을 개발하는 브랜치 (develop에서 분기)
- fix : 버그를 수정하는 브랜치
{태그} / #{이슈번호}-{기능설명}
- 태그는 소문자로 작성합니다.
- 이슈번호는 Github Issues에 등록된 번호를 적습니다. (추적 용이)
- 기능설명은 짧은 영어 단어로, 띄어쓰기는 하이픈(-)으로 연결합니다.
feat/#13-login-ui(13번 이슈인 로그인 UI 구현)fix/#20-token-error(20번 이슈인 토큰 에러 수정)refactor/#5-api-structure(5번 이슈인 API 구조 개선)
양식 | [커밋유형] 이슈 내용 예시 | [FEAT] 사용자 로그인 API 구현
-
변수 & 상수
- 카멜 케이스(camelCase) 사용
- 의미 있고 설명적인 이름 사용
- 너무 짧거나 모호한 이름 피하기
-
함수 & 메서드
- 동사로 시작
- 함수의 역할을 명확히 설명
-
클래스 & 구조체 & 열거형
- 대문자로 시작 (PascalCase)
-
타입 추론
// Bad: 불필요한 타입 명시
let explicitDouble: Double = 70.0
// Good: 타입 추론 사용
let implicitDouble = 70.0
- 오류 처리
enum NetworkError: Error {
case badURL
case noData
}
func fetchData(from urlString: String) throws -> Data {
guard let url = URL(string: urlString) else {
throw NetworkError.badURL
}
// ... (생략)
throw NetworkError.noData
}
// 사용 예시
do {
let data = try fetchData(from: "https://example.com")
print("Data fetched successfully")
} catch NetworkError.badURL {
print("Invalid URL")
} catch {
print("Unknown error")
}
-
들여쓰기는 tab 대신 띄어쓰기 4개로
-
연산자 주변 공백
// 좋은 예
let result = 1 + 2
// 나쁜 예
let result=1+2
- 중괄호는 엔터 없이 열기
// 좋은 예
func doSomething() {
// ...
}
// 나쁜 예
func doSomething()
{
// ...
}
- 콜론 뒤에만 공백을 둡니다.
let value: Int
- PR 시, 템플릿이 등장한다. 해당 템플릿에서 작성해야할 부분은 아래와 같다
PR 유형 작성, 어떤 변경 사항이 있었는지 [] 괄호 사이에 x를 입력하여 체크할 수 있도록 한다.작업 내용 작성, 작업 내용에 대해 자세하게 작성을 한다.추후 진행할 작업, PR 이후 작업할 내용에 대해 작성한다리뷰 포인트, 본인 PR에서 꼭 확인해야 할 부분을 작성한다.PR 태그 종류, PR 제목의 태그는 아래 형식을 따른다.
Feat: 새로운 기능 추가Fix: 버그 수정Design: CSS, UI/UX 디자인 변경!BREAKING CHANGE: 커다란 API 변경의 경우!HOTFIX: 급하게 치명적인 버그를 고쳐야 하는 경우Style: 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우Refactor: 코드 리팩토링 (기능 변경 없음, 코드 구조 개선)Comment: 필요한 주석 추가 및 변경Docs: 문서 수정Test: 테스트 코드 추가, 테스트 리팩토링Chore: 빌드 업무 수정, 패키지 매니저 수정, 프로젝트 세팅Rename: 파일 혹은 폴더명을 수정하거나 옮기는 경우Remove: 파일을 삭제하는 경우
🎉 [Chore] 프로젝트 초기 세팅
✨ [Feat] 프로필 화면 UI 구현
🐛 [Fix] iOS 17에서 버튼 클릭 오류 수정
💄 [Design] 로그인 화면 레이아웃 조정
📝 [Docs] README에 프로젝트 소개 추가
| 아이콘 | 코드 | 설명 | 원문 |
|---|---|---|---|
| 🐛 | bug | 버그 수정 | Fix a bug |
| ✨ | sparkles | 새 기능 | Introduce new features |
| 💄 | lipstick | UI/스타일 파일 추가/수정 | Add or update the UI and style files |
| ♻️ | recycle | 코드 리팩토링 | Refactor code |
| ➕ | heavy_plus_sign | 의존성 추가 | Add a dependency |
| 🔀 | twisted_rightwards_arrows | 브랜치 합병 | Merge branches |
| 💡 | bulb | 주석 추가/수정 | Add or update comments in source code |
| 🔥 | fire | 코드/파일 삭제 | Remove code or files |
| 🚑 | ambulance | 긴급 수정 | Critical hotfix |
| 🎉 | tada | 프로젝트 시작 | Begin a project |
| 🔒 | lock | 보안 이슈 수정 | Fix security issues |
| 🔖 | bookmark | 릴리즈/버전 태그 | Release / Version tags |
| 📝 | memo | 문서 추가/수정 | Add or update documentation |
| 🔧 | wrench | 구성 파일 추가/삭제 | Add or update configuration files. |
| ⚡️ | zap | 성능 개선 | Improve performance |
| 🎨 | art | 코드 구조 개선 | Improve structure / format of the code |
| 📦 | package | 컴파일된 파일 추가/수정 | Add or update compiled files |
| 👽 | alien | 외부 API 변경 반영 | Update code due to external API changes |
| 🚚 | truck | 리소스 이동, 이름 변경 | Move or rename resources |
| 🙈 | see_no_evil | .gitignore 추가/수정 | Add or update a .gitignore file |
Feat: 새로운 기능 추가Fix: 버그 수정Design: 사용자 UI 디자인 변경 (CSS 등)!BREAKING CHANGE: 커다란 API 변경의 경우!HOTFIX: 급하게 치명적인 버그를 고쳐야 하는 경우Style: 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우Refactor: 코드 리팩토링 (기능 변경 없음, 코드 구조 개선)Comment: 필요한 주석 추가 및 변경Docs: 문서 수정Test: 테스트 코드 추가, 테스트 리팩토링Chore: 빌드 업무 수정, 패키지 매니저 수정, 프로젝트 세팅Rename: 파일 혹은 폴더명을 수정하거나 옮기는 경우Remove: 파일을 삭제하는 경우
🎉 [Chore] 프로젝트 초기 세팅
✨ [Feat] 프로필 화면 UI 구현
🐛 [Fix] iOS 17에서 버튼 클릭 오류 수정
💄 [Design] 로그인 화면 레이아웃 조정
📝 [Docs] README에 프로젝트 소개 추가
MyProject/
├── App/ # 앱 진입점
├── Root/ # 앱 시작 흐름 및 화면
분기
├── Model/ # 데이터 모델 계층 (뷰모델&뷰)
│ ├── Entity/
│ ├── DTO/
│ └── Realm/
├── Module/ # 기능 단위 모듈
├── Service/ # 비즈니스 로직
├── Network/ # 네트워크 통신
├── Storage/ # 로컬 저장소
├── Component/ # 재사용 UI 컴포넌트
├── Resource/ # 앱 리소스
├── Config/ # 앱 환경 설정
├── Enum/ # 공통 Enum
└── Util/ # 공통 유틸리티


