문서 작성 가이드
이 가이드는 코드베이스와 보충 파일 전반에 걸쳐 문서를 작성하고 유지 관리하기 위한 모범 사례를 설명합니다.
코드 내 문서 (독스트링)
독스트링은 코드의 목적, 사용법 및 동작을 이해하는 데 필수적입니다. 다음 규칙을 준수하세요:
일반 규칙
- 독스트링을 사용하여 모든 공개 클래스, 메서드 및 함수를 문서화하세요.
- Sphinx 스타일 독스트링을 사용하세요.
- 독스트링에 파라미터 유형을 포함하지 마세요. 유형 힌트를 사용하여 함수 시그니처에서 선언해야 합니다.
형식 및 지시어
다양한 요소를 설명하기 위해 다음 지시어를 사용하세요:
:param <name>:— 파라미터를 설명합니다.:return:— 반환 값을 설명합니다.:raises <exception>:— 함수가 발생시킬 수 있는 예외를 설명합니다.
예제
def add(a: int, b: int) -> int:
"""
Add two integers.
:param a: The first integer.
:param b: The second integer.
:return: The sum of the two integers.
:raises ValueError: If either input is not an integer.
"""
if not isinstance(a, int) or not isinstance(b, int):
raise ValueError("Inputs must be integers.")
return a + b
외부 문서 (docs/ 디렉토리)
모든 프로젝트 수준 문서는 docs/ 디렉토리에 있습니다. 이 문서들은 가이드, 예제 및 참조를 제공하여 사용자와 개발자를 모두 지원합니다.
형식
- 문서에는 Markdown (
.md) 또는 **Jupyter Notebooks (.ipynb)**를 사용하세요. - 서술적 콘텐츠와 정적 문서에는 Markdown이 선호됩니다.
- 실행 가능한 대화형 콘텐츠(예: 튜토리얼 또는 데모)에는 Jupyter Notebooks를 사용하세요.
Jupyter Notebook 가이드라인
- 모든 노트북이 완전히 실행 가능한지 확인하세요.
- 커밋하기 전에 항상 모든 셀을 실행하고 출력을 저장하세요.
- CI/CD 환경은 GPU 실행을 지원하지 않으므로 노트북은 로컬에서 미리 실행해야 합니다.
Markdown 및 Notebook 지시어
풍부한 서식을 위해 다음 패턴을 사용하세요:
[name](#ref)— 내부 교차 참조, 예:[ModuleBase](#evox.core.module.ModuleBase)또는[ModuleBase](#ModuleBase)— 이미지 삽입, 예:
번역
문서는 다국어 콘텐츠를 지원합니다. 번역을 업데이트하거나 생성하려면 아래 단계를 따르세요.
번역 업데이트 (예: zh_CN)
cd docs
make gettext
sphinx-intl update -p build/gettext -l zh_CN
cd ..
python docs/fix_output.py