Files
improvise/CLAUDE.md
Ed L 6038cb2d81 refactor: make active_view and axis_of infallible
Both functions previously returned Option despite their invariants
guaranteeing a value: active_view always names an existing view
(maintained by new/switch_view/delete_view), and axis_of only returns
None for categories never registered with the view (a programming error).

Callers no longer need to handle the impossible None case, eliminating
~15 match/if-let Option guards across app.rs, dispatch.rs, grid.rs,
tile_bar.rs, and category_panel.rs.

Also adds Model::evaluate_f64 (returns 0.0 for empty cells) and collapses
the double match-on-axis pattern in tile_bar/category_panel into a single
axis_display(Axis) helper.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 09:00:25 -07:00

450 B

  • Always use tests to demonstrate the existence of a bug before fixing the bug.
    • If you suspect that a bug exists, use a test to demonstrate it first:
      • prefer unit tests testing a small amount of code to integration or e2e tests
  • Option<...> or Result<...> are fine but should not be present in the majority of the code.
  • Similarly, code managing Box<...> or RC<...>, etc. for containers pointing to heap data should be split from logic