HealthKit (14)
Code Comments
DocC를 활용하여 우리가 만든 프로젝트에 우리가 Docs를 만드는 과정을 진행한다.
Cmd + Option + /
를 사용하면
이렇게 함수에 대해 설명을 할 수 있는 주석이 생성이 된다.
사용 예시: 리턴함수
아래와 같이 fetchStepCount
함수에 대해 작성을 해보았다.
이때 Description을 작성할때는 아래와 같이 ///를 하나더 두고 작성한다.
1
2
3
4
5
/// Fetch last 28days of step count from HealthKit
///
/// This is where you would describe the method further.
/// - Returns: Array of ``HealthMetric``
func fetchStepCount() async throws -> [HealthMetric] {}
작성후 아래 사진처럼 Documentation을 빌드한다
우리가 적은게 있는 fetchStepCount로 가보면
이렇게 우리가 적은 내용이 프로젝트 Docs에 적히는걸 확인할 수 있다.
또한 이제는 우리가 fetchStepCount 함수를 호출을 할때,
이렇게 호출하는 함수에 대해 설명이 나오게 된다.
비교용으로 아직 설명을 적지않은 fetchWeights의 경우는?
위와같이 주석을 작성하지 않은 경우, 함수 선언부만 간략히 표시된다
사용 예시: 파라미터가 있는 리턴함수
Parameter가 필요한 함수의 경우 Cmd + Opt + /
를 눌러 주석을 활성화 하면
이렇게 파라미터에 대한 설명도 적을 수 있다.
1
2
3
4
5
/// Write weight value to HealthKit. Requires HealthKit write permission
/// - Parameters:
/// - date: Date for weight value
/// - value: Weight value in pounds. Uses pounds as a Double for .bodyMass conversions
func addWeightData(for date: Date, value: Double) async throws {
이렇게 파라미터에 대한 설명도 작성이 되었다.
사용 예시: Description 및 부가설명
Note나, Throws 같은 태그도 보여주면 문서화 활용도를 더 높일 수 있다.
1
2
3
4
5
6
7
8
9
10
11
/// Writes the weight value to HealthKit. Requires HealthKit write permission.
///
/// This asynchronous function records a weight value into HealthKit.
/// Use `try await` when calling this function to handle its asynchronous behavior.
///
/// - Parameters:
/// - date: The date associated with the weight value.
/// - value: The weight value in pounds. Represented as a `Double` for `.bodyMass` conversions.
/// - Throws: `HealthKitError` if the write operation fails.
/// - Note: Ensure HealthKit write permission is granted before calling this method.
func addWeightData(for date: Date, value: Double) async throws {
Description 과 함께 함수 사용시 반드시 알아둬야할 Note가 포함되어있어 사용자에게 확실한 설명을 제시.
이 과정을 통해 프로젝트를 체계적으로 문서화하고, 나만의 Docs를 만들어보는 경험은 협업 시 가치를 높이고 코드의 이해를 한층 더 강화할 수 있을 것이다.
Bakery 앱을 활용한 앱 아이콘 만들기.
AppStore 링크를 통해 다운 받을 수 있다.
워낙 간단해서 설명은 패스…
이렇게 만들어 보았다.
Pull Request, Commit Message Tip
Semantic Commit Messages 특히 이 사이트를 통해 Commit Message를 효과적으로 작성할 수 있다.
App version 관리
이렇게 1.0.0 으로 버전을 만들고 출시를 할때 깃을 통해 버전 관리를 할 수 있는데,
마지막으로 머지를 한 Pull Reqeust의 Commit hash를 통해 터미널에서 태그 추가가 가능하다.
현재 내 경우엔 ebc1827을 통해 merge를 했다.
터미널에서 하는 방법은 아래와 같다.
1
2
3
git tag <버전> <커밋해시>
git push origin <버전>
실제로 터미널에서 해보면
1
2
3
git tag 1.0.0 ebc1827
git push origin 1.0.0
레퍼지토리를 가보면 tag가 올라가있다.
들어가서 확인해보면, 현재 버전에 대한 소스코드 파일을 다운 받을 수 있다.
이를 통해 버전관리가 가능하며, 업데이트한 버전에 문제가있어 이전 버전을 통해 해결을 할 수 밖에 없는 상황이 생긴다면, 이 방법을 통해서 대처가 가능해진다.
Create a new release
위에 사진에 우측 박스아래에 Create a new release를 통해서 우리가 배포하는 버전에 대해 Description 작성이 가능하다.
작성하기전 작성할 버전에 맞는 태그를 추가해주고. (지금은 1.0.0 밖에 없지만, 이후 업데이트를 계속 하면 태그가 많아짐)
위와 같이 작성했다.
publish를 하게 되면
이렇게 새롭게 Release에 대해 나오고, 클릭하여 확인해보면
이렇게 우리가 적은 설명과 함께 소스코드가 같이 첨부되어있는걸 확인할 수 있다.
Tip Release Note를 작성할때는 주요 기능, 버그 수정, 업데이트된 코드 요약 같은 정보를 담아주면, 훨씬 더 좋은 note가 될것이다.
훌륭한 포트폴리오 GitHub README를 작성하는 방법.
강의에선 4가지 요소를 강조했다.
- Visual: 시각적 요소를 활용
- Concise: 간결하게 작성
- Short: 짧고 명확하게 표현
- Easy to Skim: 한눈에 쉽게 파악할 수 있도록 구성
샘플로 작성한 Readme에서는 크게 5가지 섹션으로 나누었다.
- 앱 소개
- 2줄로 간결하게 작성
- 사용한 기술
- 가장 중요한 부분
- 만약 면접을 본다면 사용한 기술에 대해서 질문을 받을 가능성은 100%
- 시연 영상
- 스크린샷 보다 훨씬 더 좋다.
- 프로젝트를 진행하며 느낀 자랑스러운 점
- 개발 과정에서 가장 특별하게 느낀 점이나 자랑스러운 기능에 대해 구체적으로 설명
- 기술적 도전이나 차별화된 구현 방법을 구체적인 코드와 함께 설명하면 신뢰도 상승
- 프로젝트 완성도
- 프로젝트에서 구현한 주요 기능과 완성도를 한눈에 파악할 수 있도록 나열한다.
- 면접이나 코드 리뷰에서 중요한 포인트가 될 수 있으므로, 에러 처리, 접근성, 테스트 등 다양한 측면을 포함.
이번 포스트는 코드 외적인 부분에 대해서 다뤄봤는데, 코드보다 유익한 정보가 더 많았다.
이걸 잘 습득하고 적용을 한다면, 좋은 프로젝트, Readme를 만들 수 있을것이다.
Github: Step-Tracker Repository