프로젝트는 거의 항상 과거 시제를 사용해야합니다 . 어쨌든 프로젝트는 일관성과 명확성을 위해 항상 동일한 시제를 사용해야합니다.
나는 현재 시제를 사용한다고 주장하는 다른 주장 중 일부를 이해하지만 일반적으로 적용되지는 않습니다. 다음 글 머리 기호는 현재 시제로 쓰는 일반적인 주장과 내 대답입니다.
- 현재 시제로 글을 쓰면 커밋을 적용하는 것이 당신이 한 일이 아니라 무엇을 할 것인지 말해줍니다 .
이것이 현재 시제를 사용하려는 가장 정확한 이유이지만 올바른 스타일의 프로젝트에서만 사용됩니다. 이러한 사고 방식은 모든 커밋을 선택적 개선 사항 또는 기능으로 간주하며 특정 리포지토리에서 유지할 커밋과 거부 할 커밋을 자유롭게 결정할 수 있습니다.
이 주장은 진정으로 분산 된 프로젝트를 다루는 경우에 효과적입니다. 분산 프로젝트를 다루는 경우 아마도 오픈 소스 프로젝트를 진행하고있을 것입니다. 그리고 실제로 배포된다면 아마도 매우 큰 프로젝트 일 것입니다. 사실, 아마도 리눅스 커널이거나 Git 일 것입니다. 리눅스는 Git이 널리 퍼져 인기를 얻었을 가능성이 높기 때문에 사람들이 왜 자신의 스타일을 권위라고 생각하는지 쉽게 이해할 수 있습니다. 예, 스타일은이 두 프로젝트에 적합합니다. 또는 일반적으로 대규모 오픈 소스 분산 프로젝트 에서 작동 합니다.
즉, 소스 제어의 대부분의 프로젝트는 이와 같이 작동하지 않습니다. 대부분의 리포지토리에는 일반적으로 올바르지 않습니다. 커밋에 대한 현대적인 생각입니다. Subversion (SVN) 및 CVS 리포지토리는 이러한 유형의 리포지토리 체크인을 거의 지원할 수 없습니다. 일반적으로 통합 지점에서는 잘못된 체크인 필터링을 처리했지만 일반적으로 "선택적"또는 "사용하기 편리한 기능"으로 간주되지 않았습니다.
대부분의 시나리오에서 소스 리포지토리에 커밋 할 때이 업데이트로 변경된 사항을 설명하는 저널 항목을 작성하여 향후 다른 사람이 변경 이유를 더 쉽게 이해할 수 있도록합니다. 일반적으로 선택적인 변경 사항이 아닙니다. 프로젝트의 다른 사람들이 병합하거나 리베이스해야합니다. 당신은 같은 일기 항목을 쓰지 않는다 "친애하는 일기, 오늘은 충족 소년 그는 말한다 나에게 인사를."대신 당신은 쓰기 "내가 만난 소년과 그가 말했다 나에게 안녕하세요."
마지막으로 이러한 비 분배 프로젝트의 경우 커밋 메시지를 읽는 사람의 99.99 %가 기록을 읽는 것입니다. 기록은 과거 시제로 읽습니다. 이 커밋을 적용해야하는지 또는 지사 / 저장소에 통합해야하는지 여부를 결정할 시간의 0.01 %
- 일관성. 그것이 많은 프로젝트 (git 자체 포함)에있는 방법입니다. 또한 커밋을 생성하는 git 툴 (git merge 또는 git revert)이 수행합니다.
아니요, 버전 제어 시스템에 로그인 한 대부분의 프로젝트가 과거 시제에서 과거의 역사를 가지고 있음을 보증합니다 (참조가 없지만 현재 시제 주장이 Git 이후 새롭다는 것을 고려하면 옳습니다). 현재 시제에서 "개정"메시지 또는 커밋 메시지는 실제로 분산 된 프로젝트에서만 의미가 있습니다. 위의 첫 번째 요점을 참조하십시오.
- 사람들은 "이 코드베이스에 무슨 일이 있었는지", "이 커밋을 고르면 어떻게 될까"또는 "이 커밋으로 인해 코드베이스에 어떤 새로운 일이 일어날 지"와 같은 질문에 답하기 위해 역사를 읽습니다. 나는 미래에 합병 될 수도 있고 그렇지 않을 수도 있습니다. "
첫 번째 요점을 참조하십시오. 커밋 메시지를 읽는 사람의 99.99 %가 기록을 읽는 것입니다. 기록은 과거 시제로 읽습니다. 이 커밋을 적용해야하는지 또는 지사 / 저장소에 통합해야하는지 여부를 결정할 시간의 0.01 % 99.99 %가 0.01 %를 이겼습니다.
부적절한 시제 / 문법을 사용하는 것이 더 짧기 때문에 좋은 주장을 본 적이 없습니다. 표준 50 자 메시지에 대해 평균 3 자만 저장합니다. 즉, 현재 시제 평균은 아마도 몇 글자 더 짧을 것입니다.
- 이슈 / 피처 추적기의 티켓 제목으로 커밋 이름을보다 일관되게 지정할 수 있습니다.
티켓은 중 현재 (예 : 앱에서 일어나고있는 무언가로 작성된 보여주는 I이 버튼을 클릭하면 잘못된 동작을), 또는 요구 사항 (예 : 텍스트가 미래에 할 수있는 뭔가 가 필요합니다 에디터에 의한 리뷰).
히스토리 (예 : 커밋 메시지)는 과거에 수행 된 것으로 작성됩니다 (예 : 문제 가 수정되었습니다).