Newer
Older
SmTIAS-Evaluation / docs / 01_GUIDE / GUIDE_06_コーディング規約.md

コーディング規約 (Coding Standards)

基本方針として PEP 8 および Ruff の自動チェックに準拠する.本ガイドでは PEP 8 でカバーされないプロジェクト固有のルールのみ定義する.

フォーマット (Formatting)

  • フォーマッター・リンター: Ruff(ruff.toml で設定済み)
  • 行長: 88 文字(ruff.toml で設定済み)
  • クォート: ダブルクォート "

命名規則 (Naming)

PEP 8 に準拠する.

対象形式
モジュールsnake_caseuniformity.py
関数・変数snake_casecalc_cov
定数UPPER_SNAKE_CASEDEFAULT_ROI_SIZE
クラスPascalCaseUniformityResult

import 順序 (Import Order)

Ruff(isort 互換)で自動整列する.順序:

  1. 標準ライブラリ
  2. サードパーティ(numpy,cv2,colour 等)
  3. プロジェクト内モジュール

型ヒント (Type Hints)

  • 関数の引数と戻り値に型ヒントを付ける
  • NumPy 配列は numpy.ndarray を使用する
def calc_cov(image: numpy.ndarray) -> float:

コメント (Comments)

  • 「何をしているか」ではなく「なぜそうしているか」を書く
  • 論文・規格への参照がある場合はコメントに明記する
# CIE ΔE2000 を使用(CIEDE2000, CIE 142-2001)
delta_e = colour.delta_E(lab1, lab2, method="CIE 2000")

docstring

  • 公開関数には Google スタイルの docstring を付ける
def load_image(path: str) -> numpy.ndarray:
    """PNG 画像を読み込み RGB 配列として返す.

    Args:
        path: 画像ファイルのパス.

    Returns:
        RGB 画像の NumPy 配列(H x W x 3, uint8).
    """