You can't unit test for taste

Nature of “taste” and whether it’s testable

  • Many argue you cannot fully unit test for taste because:
    • Taste is the part of the spec you forgot or can’t articulate.
    • Rules need exceptions, whose exceptions are contextual judgment; what’s left is “taste.”
    • You can externalize only a small, rule-like slice; the rest remains implicit.
  • Others counter that parts can be encoded:
    • Pairwise “hot or not” comparisons can train ML scoring functions.
    • Style guides, pattern languages, and UI guidelines capture some shared standards.
    • Linters and scripts can enforce conventions (naming, brand colors, layer boundaries).

AI, LLMs, and personal/organizational taste

  • LLMs are described as powerful but stuck at “smart new hire” level:
    • No persistent, individualized long-term memory.
    • RL / feedback tends to average out to generic style, not one person’s taste.
    • Models often make confident but tasteless or risky decisions unless tightly governed.
  • Proposed approaches:
    • Train separate preference models per person/team; fail when they disagree.
    • Use agents plus human “gates” or validation tickets before closing work.
    • Treat LLMs as junior devs; encode decisions in ADRs/docs and let them follow.

Testing philosophy and the limits of TDD

  • Tests are seen as ensuring things are “not wrong,” not making them “good” or tasteful.
  • Heavy TDD and low-level unit tests are criticized:
    • Correctness doesn’t neatly compose; emergent behavior appears at higher levels.
    • Over-mocking and 100% coverage targets reduce confidence and slow change.
  • Others defend TDD when applied at appropriate abstraction levels and for bugs.
  • Snapshot tests and visual regression are suggested for graphics/UI, but they don’t capture “feels right.”

UX, visuals, and “feel”

  • Many note AI-generated UIs/images often feel cheap or off.
  • Some think neural nets can recognize qualities like “tacky,” given enough labeled examples.
  • Tools can test objective aspects (colors, layout consistency), but subjective UX friction still requires humans.

Intuition, anthropomorphism, and pragmatism

  • Human intuition (e.g., sensing structural failure) is likened to taste: grounded in experience but hard to encode.
  • The use of “we” with AI collaborators raises concern about subtle anthropomorphizing.
  • Several voices advocate accepting “good enough,” using AI as a support tool while humans retain final taste and governance.