Files
Book-management-system/.trellis/spec/guides/index.md
T
2026-04-27 18:40:30 +08:00

2.3 KiB

Thinking Guides

Purpose: Expand your thinking to catch things you might not have considered.


Why Thinking Guides?

Most bugs and tech debt come from "didn't think of that", not from lack of skill:

  • Didn't think about what happens at layer boundaries → cross-layer bugs
  • Didn't think about code patterns repeating → duplicated code everywhere
  • Didn't think about edge cases → runtime errors
  • Didn't think about future maintainers → unreadable code

These guides help you ask the right questions before coding.


Available Guides

Guide Purpose When to Use
Code Reuse Thinking Guide Identify patterns and reduce duplication When you notice repeated patterns
Cross-Layer Thinking Guide Think through data flow across layers Features spanning multiple layers

Quick Reference: Thinking Triggers

When to Think About Cross-Layer Issues

  • Feature touches 3+ layers (API, Service, Component, Database)
  • Data format changes between layers
  • Multiple consumers need the same data
  • You're not sure where to put some logic

→ Read Cross-Layer Thinking Guide

When to Think About Code Reuse

  • You're writing similar code to something that exists
  • You see the same pattern repeated 3+ times
  • You're adding a new field to multiple places
  • You're modifying any constant or config
  • You're creating a new utility/helper function ← Search first!

→ Read Code Reuse Thinking Guide


Pre-Modification Rule (CRITICAL)

Before changing ANY value, ALWAYS search first!

# Search for the value you're about to change
grep -r "value_to_change" .

This single habit prevents most "forgot to update X" bugs.


How to Use This Directory

  1. Before coding: Skim the relevant thinking guide
  2. During coding: If something feels repetitive or complex, check the guides
  3. After bugs: Add new insights to the relevant guide (learn from mistakes)

Contributing

Found a new "didn't think of that" moment? Add it to the relevant guide.


Core Principle: 30 minutes of thinking saves 3 hours of debugging.