Markdown 형식으로 댓글을 작성하여 Xcode의 Quick Help 및 팀워크 강화

6066 단어 XcodeSwift
Xcode의 기능 중 하나인 Quick Help가 직접 쓴 코드를 조사해도 더 스마트하게 할 수 없다면 공유를 찾았다.
참고로 Quick Help는 다음과 같습니다.

방법/클래스에 커서를 맞추고option+를 누르면 나타납니다.

전제 조건


이 문장에서 평론의 격식에 대한 설명은 취지이다
글의 코드는 적당하고 가치가 없는 코드이니 참고하지 마세요.

어떤 느낌일까요?


쓰기를 배워서 쓴다. 아래와 같다.


어떻게 썼어요?


거의 모든 Markdown 태그를 사용할 수 있습니다.

위치 정의

public struct AuthJwt {
    var alg:String
    var typ:String
}
public enum AuthNError : Swift.Error {
    case invalidJwt(msg:String)
}

/**
 # ユーザ認証ユースケース(by protocol)
 */
public protocol AuthNUseCase {
    /**
     ## トークン取得

     認証用トークンをOPサーバーにリクエストをPOSTします.

     - precondition: 
       - JWTは検証済み.
       - 最初にこのメソッドを呼ぶこと.
     - postcondition : 戻り値の検証をすること.
     - requires:
       - 通信環境が確保されていること.
       - OP側と鍵の共有されていること.
     - note:
       - [JWTについて](https://www.rfc-editor.org/info/rfc7519)
     - warning: 
       - メインスレッド上で通信処理を行う.**スレッド管理については呼び出し責任とする.**

     ---
     - parameter jwt: 認証用JWT
     - returns: RSA526形式トークン
     - throws: AuthNError
     ```
         let authN = AuthNUserCaseImpl()
         authN.fetchToken(jwt:AuthJwt(alg:"HS256", typ:"JWT"))
     ```
     */
    func fetchToken(jwt:AuthJwt) throws -> String?
}

/**
 ## ユーザ認証ユースケース(by struct)
 */
struct AuthNUserCaseImpl : AuthNUseCase {
    /**
     # ほげほげ
     */
    func fetchToken(jwt: AuthJwt) -> String? {
        return nil
    }
}

호출자

let authN:AuthNUseCase = AuthNUserCaseImpl()
let token = try! authN.fetchToken(jwt: AuthJwt(alg: "HS256", typ: "JWT"))

귀찮지 않아요?


예.솔직히 모든 방법과 반을 이렇게 쓰는 것은 매우 번거롭다.
'코드는 문서'라고 말하지 않지만 유지보수 비용이 은혜를 초과하는 것도 본말이 전도된 것이다.

공구는 함부로 쓰지 않는다


나는 팀 내의 운용에 따라 어느 정도까지 쓸 것인지를 결정할 수 있기를 바란다.

예:


"공공 코드 공개 I/F, 사전 조건, 사후 조건, 샘플 코드 필수"등 결정

사용처/1주일 후의 자신/신인이라면

  • 하고 싶은 일은 이해하기 쉽다
  • 만든 사람 이외에도 유지하기 쉽다
  • 신인이라도 코드 댓글로 선배에게 도끼를 던질 수 있다
  • 신인의'완성 후 다른 목적 달성'에 빠지기 쉽다는 자평을 할 수 있다
  • 주의사항


    눈치채지 못했지만 몇 가지 행동은 규칙이 있다.
  • 쓰기 순서에 따라 표시되지 않습니다
  • TODO:FIXME:잠깐만요
  • 쓰기 순서대로 표시되지 않음


    예를 들어 소개한 코드에서 예시 코드는 마지막이지만 첫 번째로 빠른 도움말을 설명하는 매개 변수, 이상, 되돌아오는 값 등이 아래에 표시됩니다.

    TODO: FIXME: 기다려.


    블록 리뷰라면 이런 규격이니까 다른 규격이지만 리뷰에서
    //TODO: hogehoge
    
    하면, 만약, 만약...

    하지만 주석에서
    /**
    - note:
      - [JWTについて](https://~~~~)
      - TODO: hogehgoe
    */
    
    나도 모르게 쪽지를 나눠서 TODO를 썼는데 써도 반응이 없어요.
    이런 상황에서
    /**
    - note:
      - [JWTについて](https://~~~~)
    - TODO: hogehgoe
    */
    
    에서 기술한 장면은 다음과 같은 절차를 이용하여 명세표를 작성하여 개념 디자인에서 체량의 부피를 분석하도록 한다.
    그러나 한 줄의 평론과 같은 편집기 위의 빵 찌꺼기 목록에는 나타나지 않는다.

    참고 자료


    기타 상세한 상황은 아래에 요약되어 있다.
    Markup Formatting Reference

    좋은 웹페이지 즐겨찾기