Skip to content

マジックナンバー(999/99/9.99等)の定数化と用途・設計意図の明文化 #60

Description

@t-uda

概要

tda_ml モジュール内で各所にハードコードされているマジックナンバー (999.0, 99.0, 9.99 など) を全て定数化し、意味や用途ごとの意図をソースコードおよびdocstring/コメント内で明記するリファクタタスクのためのissueです。

目的

  • 可読性の向上(後からコードを読んだ人が混乱しないように)
  • ヒューマンエラー防止(異なる値の混同や並存を防ぐ)
  • 保守容易性の向上(値の変更やポリシー決定をグローバルに行えるように)

詳細

  • 以下の値をはじめとするマジックナンバーについて、用途ごとに定数名を厳密に決め、すべて定数として管理する:
    • 999.0(Wasserstein距離での空入力)
    • 99.0(Bottleneck距離での空入力)
    • 9.99(メトリクス集計での空inlier検出時)
  • それぞれの値がどのような失敗ケース・意味づけで使われているかをdocstringやコメント等に明記する。
  • ポリシーとして「マジックナンバー禁⽌」「必要なら値の統一を検討」も合わせて議論する。
  • 関連するテスト(ユニットテスト)があれば定数へ追従させる。

関連

  • PR #56
  • 過去IssueやPRに類似実装・議論がないかも要調査

備考

  • 定数配置は constants.py などの専用モジュールを作ることも検討
  • 定数名、docstring文言は開発メンバー間で納得のいくものにする

#59 終了後に残っている「正則化・安定化のための微小正定数」も全て意図の明らかな定数名を割り当ててください

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions