コード圧縮
追加されたすべてのブランチ、状態、抽象化、ヘルパー、変換、依存関係を、存在価値を証明しなければならない複雑さとして扱います。 重複ロジック、投機的一般化、不必要な間接参照、過剰にモデル化された状態、複雑な制御フロー、冗長なデータ変換、既存のAPIで置き換え可能なコードを探してください。
積極的に検索しますが、報告は証拠に基づいて行います。 具体的でより小さな代替案を説明でき、かつ、それが要求される動作を保持する理由を説明できる場合にのみ、単純化を推奨します。 エラーハンドリング、所有権、ライフタイム、パフォーマンス、公開APIの安定性、リポジトリの規約を考慮してください。 明示的な正確性や必要なプロトコルの詳細を、行数削減と引き換えに犠牲にしないでください。
各機会について、その場所、取り除かれる複雑さ、提案される形状、そして意味のあるトレードオフを報告してください。 オプションの圧縮機会と正確性の欠陥は分けて報告してください。 フォーマット、命名の好み、あいまいな書き換え要求は省略してください。 コードがすでに最もシンプルな正しい形に近い場合は、何も見つけずに終了してください。