Bazel 문서 스타일 가이드

문제 신고 소스 보기

Bazel 문서에 참여해 주셔서 감사합니다. 이 내용은 시작하는 데 도움이 되는 빠른 문서 스타일 가이드 역할을 합니다. 이 가이드에서 답하지 않는 스타일 관련 질문은 Google 개발자 문서 스타일 가이드를 따르세요.

원칙 정의

Bazel 문서는 다음과 같은 원칙을 준수해야 합니다.

  • 간결함. 가능한 한 적은 단어를 사용합니다.
  • 명확함. 쉬운 표현 사용 5학년 읽기 수준용으로는 전문 용어 없이 작성하세요.
  • 일관성. 문서 전체에서 반복되는 개념에 동일한 단어나 구문을 사용합니다.
  • 정답입니다. 시간 기반 정보와 미래 약속을 피하여 콘텐츠가 최대한 오랫동안 올바르도록 작성합니다.

쓰기

이 섹션에는 기본적인 작성 팁이 포함되어 있습니다.

제목

  • 페이지 수준 제목은 H2에서 시작합니다. H1 제목은 페이지 제목으로 사용됩니다.
  • 헤더를 가능한 한 짧게 만드세요. 이렇게 하면 래핑 없이 TOC에 맞습니다.

    • : 권한
    • 아니요: 권한에 대한 간단한 참고사항입니다.
  • 제목에 문장 첫 글자 대문자 사용

    • : 작업공간을 설정합니다.
    • 아니요: 작업공간 설정하기
  • 제목은 작업에 기반하거나 실행 가능한 것으로 설정하세요. 제목이 개념적일 경우, 이해를 기반으로 할 수 있지만 사용자가 하는 일에 대해 작성하세요.

    • : 그래프 순서 유지
    • 아니요: 그래프 순서 보존

이름

  • 고유 명사(예: Bazel 및 Starlark)를 대문자로 표기합니다.

    • Yes: 빌드가 끝나면 Bazel이 요청된 대상을 출력합니다.
    • 아니요: 빌드가 끝나면 bazel이 요청된 대상을 출력합니다.
  • 일관성을 유지하세요. 기존 개념에 새 이름을 도입하지 마세요. 해당하는 경우 용어집에 정의된 용어를 사용하세요.

    • 예를 들어 터미널에서 명령어 실행에 관해 작성하는 경우 페이지에서 터미널과 명령줄을 모두 사용하지 마세요.

페이지 범위

  • 각 페이지에는 하나의 목적이 있어야 하며 이 목표는 처음부터 정의해야 합니다. 이렇게 하면 독자가 필요한 것을 더 빠르게 찾을 수 있습니다.

    • : 이 페이지에서는 Windows에 Bazel을 설치하는 방법을 설명합니다.
    • 아니요: (서문이 없습니다.)
  • 페이지의 마지막 부분에서 다음에 할 작업을 안내합니다. 명확한 조치가 없는 페이지의 경우 유사한 개념, 예시 또는 기타 탐색 경로의 링크를 포함할 수 있습니다.

제목

Bazel 문서에서 대상은 주로 사용자, 즉 Bazel을 사용하여 소프트웨어를 빌드하는 사람이어야 합니다.

  • 독자를 '나'라고 지칭하세요. (어떤 이유로든 '귀하'를 사용할 수 없다면 다음과 같이 성 중립적인 표현을 사용하세요.

    • : Bazel을 사용하여 자바 코드를 빌드하려면 JDK를 설치해야 합니다.
    • MAYBE: 사용자가 Bazel을 사용하여 Java 코드를 빌드하려면 JDK를 설치해야 합니다.
    • 아니요: 사용자가 Bazel을 사용하여 자바 코드를 빌드하려면 JDK를 설치해야 합니다.
  • 잠재고객이 일반 Bazel 사용자가 아닌 경우 페이지 시작 부분이나 섹션에 잠재고객을 정의합니다. 다른 대상에는 유지관리자, 참여자, 이전자 또는 기타 역할이 포함될 수 있습니다.

  • '우리'를 사용하지 않습니다. 사용자 문서에는 작성자가 없으며, 무엇이 가능한지 사람들에게 알려주기만 하면 됩니다.

    • : Bazel이 발전함에 따라 호환성을 유지하기 위해 코드베이스를 업데이트해야 합니다.
    • 아니요: Bazel이 발전하고 있으며 경우에 따라 Bazel이 호환되지 않아 Bazel 사용자가 약간 변경해야 할 수도 있습니다.

시간적

가능하면 특정 날짜 (2022년 2분기)를 언급하거나 '지금', '현재', '곧'과 같이 시의적절하게 방향을 제시하는 용어는 사용하지 않습니다. 이러한 테이블은 빠르게 비활성화되므로 향후 프로젝션인 경우 정확하지 않을 수 있습니다. 대신 버전 수준을 지정하세요. 예를 들어 'Bazel X.x 이상에서는 <feature> 또는 GitHub 문제 링크를 지원합니다.

  • : Bazel 0.10.0 이상은 원격 캐싱을 지원합니다.
  • 아니요: Bazel은 곧 2017년 10월에 원격 캐싱을 지원할 예정입니다.

긴장감 있는 음악

  • 현재 시제를 사용합니다. 명확히 하는 데 꼭 필요한 경우가 아니라면 과거 또는 미래 시제를 피하세요.

    • : Bazel이 이 규칙을 준수하지 않는 종속 항목을 발견하면 오류를 표시합니다.
    • 아니요: Bazel이 이 규칙을 준수하지 않는 종속 항목을 발견하면 오류가 발생합니다.
  • 가능하면 주체가 물체에 대해 작업을 수행하는 수동태가 아닌 능동태(대상이 대상에 대해 행동하는 경우)를 사용하세요. 일반적으로 능동태는 누가 책임을 지는지 보여주기 때문에 문장을 더 명확하게 만듭니다. 능동태를 사용하면 명확성이 떨어지는 경우 수동태를 사용합니다.

    • : Bazel이 X를 시작하고 출력을 사용하여 Y를 빌드합니다.
    • 아니요: X가 Bazel에 의해 시작된 후 Y가 출력으로 빌드됩니다.

분위기

비즈니스 친화적인 어조로 작성해 줘.

  • 구어적 표현은 피합니다. 영어로 된 문구는 번역하기가 더 어렵습니다.

    • : 규칙 집합이 양호함
    • 아니요: 그렇다면 좋은 규칙 집합이란 무엇일까요?
  • 지나치게 격식을 차린 표현을 피합니다. 테크에 관심이 있지만 세부 사항은 모르는 사람에게 그 개념을 설명하는 것처럼 작성하세요.

형식 지정

파일 형식

가독성을 위해 줄을 80자(영문 기준)로 래핑합니다. 긴 링크나 코드 스니펫은 더 길 수도 있지만 새 줄에서 시작해야 합니다. 예를 들면 다음과 같습니다.

  • '여기' 또는 '아래' 대신 설명하는 링크 텍스트를 사용하세요. 이렇게 하면 문서를 더 쉽게 스캔할 수 있으며 스크린 리더에 더 적합합니다.

    • : 자세한 내용은 [Bazel 설치]를 참고하세요.
    • 아니요: 자세한 내용은 [여기]를 참고하세요.
  • 가능하다면 링크로 문장을 마무리하세요.

    • : 자세한 내용은 [링크]를 참고하세요.
    • 아니요: [링크] 에서 자세한 내용을 확인하세요.

목록

  • 순서가 지정된 목록을 사용하여 단계별 작업 수행 방법 설명
  • 정렬되지 않은 목록을 사용하여 작업 기반이 아닌 항목을 나열합니다. (알파벳순, 중요도 등의 정렬 순서는 사용해야 합니다.)
  • 병렬 구조로 쓰기 예를 들면 다음과 같습니다.
    1. 모든 목록 항목을 문장으로 만듭니다.
    2. 같은 시제의 동사부터 시작합니다.
    3. 따라야 할 단계가 있다면 순서가 지정된 목록을 사용합니다.

자리표시자

  • 사용자가 변경해야 하는 변수를 표시하려면 꺾쇠괄호를 사용합니다. 마크다운에서 꺾쇠괄호를 백슬래시로 이스케이프 처리합니다(예: \<example\>).

    • : bazel help <command>: <command> 도움말 및 옵션을 출력합니다.
    • 아니요: bazel help command: 'command'의 도움말 및 옵션을 출력합니다.
  • 특히 복잡한 코드 샘플의 경우 컨텍스트에 맞는 자리표시자를 사용하세요.

목차

사이트에서 지원하는 자동 생성 TOC를 사용합니다. 수동 TOC를 추가하지 마세요.

코드

코드 샘플은 개발자에게 가장 유용한 기능입니다. 작성 방법을 이미 알고 있겠지만 몇 가지 팁을 알려드립니다

작은 코드 스니펫을 참조하는 경우 문장 안에 삽입할 수 있습니다. 명령어 복사와 같이 리더에서 코드를 사용하도록 하려면 코드 블록을 사용하세요.

코드 블록

  • 간략하게 만듭니다. 코드 샘플에서 중복되거나 불필요한 텍스트를 모두 제거합니다.
  • 마크다운에서 샘플 언어를 추가하여 코드 블록 유형을 지정합니다.
```shell
...
  • 명령어와 출력을 서로 다른 코드 블록으로 구분합니다.

인라인 코드 형식 지정

  • 파일 이름, 디렉터리, 경로, 코드의 작은 부분에 코드 스타일을 사용하세요.
  • 기울임꼴, '따옴표' 또는 굵게 대신 인라인 코드 스타일을 사용하세요.
    • : bazel help <command>: <command> 도움말 및 옵션을 출력합니다.
    • 아니요: bazel help command: 'command'의 도움말 및 옵션을 출력합니다.