私はよく、明確に定義された特定のアルゴリズムに基づいたコードを持っています。これはよくコメントされ、適切に思えます。ほとんどのデータセットでは、アルゴリズムはうまく機能します。
しかし、特定のデータ セットを使用して特定の問題を解決するために、エッジ ケース、特殊なケース、ヒューリスティックが追加されます。特殊なケースの数が増えるにつれて、コメントはますます曖昧になります。1年ほど経ったこのコードを見直して、特定の特殊なケースやヒューリスティックが追加された理由を思い出すのが怖いです。
ソース コードにグラフィックスを埋め込んだりリンクしたりする方法があればいいのにと思うことがあります。そのため、効果的に「このデータ セットのグラフでは、この特定の機能が原因でルーチンが正しくトリガーされなかったので、この部分のコードが追加されました。」
このような状況に対処するためのベスト プラクティスは何ですか?
これらの珍しい/エッジのケースを処理するには、常に特別なケースが必要なようです。コードを比較的読みやすく理解しやすいものにするにはどうすればよいでしょうか?
写真からの特徴認識を扱う例を考えてみましょう (正確には私が取り組んでいるものではありませんが、類推は適切に思えます)。一般的なアルゴリズムが失敗し、特別なケースが必要な特定の画像を見つけた場合、その情報をできる限りコメントに記録します (または、誰かが以下に提案したように、説明的な関数名)。しかし、多くの場合、問題の動作を示す特定のデータ ファイルへの永続的なリンクが欠落しています。私のコメントは問題を説明する必要があり、おそらく「この動作の例についてはファイル foo.jp を参照してください」と言うでしょうが、このファイルはソース ツリーには決してなく、簡単に失われる可能性があります。
このような場合、参照用にデータ ファイルをソース ツリーに追加しますか?