프로젝트를 의미론적으로 구성하는 방법은 무엇입니까? 📜

프로젝트를 위한 컨벤션을 만드는 데 몇 시간을 보낸 적이 있습니까? 결국 프로젝트에 여러 사람이 작업할 때 규칙이 더 중요해집니다. 기여자들이 효율적으로 소통할 수 있도록 공통점이 필요합니다. 게다가 미리 정의된 규칙을 적용하면 자동화 파이프라인을 생성하는 프로세스가 문제 없이 진행되는 데 도움이 됩니다.

"When I wrote this, only God and I understood what I was doing. Now, God only knows."

-- Karl Weierstrass



이를 해결하기 위해 시맨틱이 있습니다. 컴퓨터 과학 측면에서 학문적 개념이며 광범위한 주제를 다룹니다. 그러나이 기사의 범위에서 우리는 의미론을 신뿐만 아니라 다른 인간에게도 논리적으로 만드는 방법으로 정의합니다. 기여에서 사람이 읽을 수 있는 컨텍스트를 만드는 몇 가지 일반적인 방법에 대해 논의할 것입니다. 다른 규칙을 알고 있다면 아래에 의견을 말하십시오. 👇

시맨틱 커밋/분기/풀 요청



요리 레시피 애플리케이션이 있고 사용자가 케이크 섹션에 맞춤형 레시피를 추가할 수 있는 새로운 풀 요청이 열린다고 상상해 보십시오. 커밋 메시지를 구성하는 방법은 여러 가지가 있을 수 있습니다.

// Practically a feature description
1. Allow users to add customized recipes to the cake section
// Categorize the commit by adding a prefix "feat" (new feature)
2. feat: Allow users to add customized recipes to the cake section
// Categorize the commit by adding a prefix "feat" and scope "cake section"
3. feat (cake section): Allow users to add customized recipes
// Categorize the commit by adding a prefix <filename>
4. cake.ts: Allow users to add customized recipes


예 (2), (3) 및 (4)와 같이 미리 정의된 규칙으로 커밋 메시지를 분류함으로써 기여자는 특히 커밋 메시지가 일반적으로 코드 편집기 또는 십오 일.



Conventional Commits은 시맨틱 커밋을 시작하기에 좋은 위치여야 합니다. 풀 리퀘스트 제목 또는 브랜치 이름도 가이드에서 수정할 수 있습니다.

시맨틱 요소/속성/변수



이는 언어와 프레임워크에 따라 다릅니다. 개체 지향 프로그래밍에서 getter 또는 setter 이름 지정과 같은 일반적인 관행이 있을 수 있습니다. 그러나 일부는 특정 언어 기능입니다. 예를 들어 HTML5에는 시맨틱 요소가 있습니다.

<!-- Potentially ambiguous nested div hell -->
<div class="">
  <div class="">
    <div class="">
    </div>
  </div>
</div>

<!-- Using semantics element, readable to both human and web crawler-->
<section class="">
  <article class="">
    <div class="">
    </div>
  </article>
</section>


HTML5 시맨틱 요소를 사용하면 가독성과 접근성을 크게 향상시킬 수 있습니다. 문제는 요소가 고유한 의미를 가지고 있기 때문에 부적절한 사용은 다른 사람들을 혼란스럽게 할 수 있다는 것입니다. 이는 간단한 블로그 페이지에서 유용할 수 있지만 article라는 용어가 오해의 소지가 있는 관리자 패널과 같은 복잡한 인터페이스의 경우 일반 div를 대신 사용해야 할 수 있습니다.

웹 개발을 하고 있다면 Mozilla's HTML elements reference을 살펴보십시오. 아마도 이전에 본 적이 없는 것이 많을 것입니다.

시맨틱 버전 관리(SemVer)



아마 지금쯤이면 모두들 알고 계실 겁니다. 그렇지 않은 사람들을 위해 SemVer는 버전 번호를 정의하고 해결하는 방법입니다dependency hell. 오픈 소스 커뮤니티에서 널리 사용됩니다. SemVer(MAJOR.MINOR.PATCH)는 다음으로 구성됩니다.
  • 주 버전: 브레이킹 체인지를 나타냅니다
  • .
  • 부 버전: 이전 버전과 호환되는 새로운 기능을 나타냅니다
  • .
  • 패치 버전: 이전 버전과의 호환성이 있는 버그 수정을 나타냅니다
  • .

    사양은 SemVer official documentation에 있습니다.

    마무리



    이는 일반적인 규칙일 뿐이며 커뮤니티에서 널리 인정됩니다. 프로덕션 환경에 적용할 수 있고 시작하기에 좋은 방법이지만 모든 솔루션에 적용할 수 있는 솔루션은 아닙니다. 팀이 이미 사전에 내부 규칙을 만든 경우 이를 따라야 합니다.

    좋은 웹페이지 즐겨찾기