HackerTube 中文?
Field guide

Software boundaries and change

Follow a change or a failure across rules, state and callers.

Choose a question

What does a module promise its callers? →Try replacing a module whose callers rely on its incidental return order. Start with what the interface says, then trace the decisions it hides and the behaviors people have learned to expect.Does splitting code actually split its dependencies? →Start with a rule that sends an email. Separate deciding from doing, then inspect layers, objects and abstractions: which parts must still change together when the rule changes?Can one record tell you both now and then? →Two reads disagree. First ask which moment each value describes, then who can change it. Keeping history and coordinating writes solve different problems.When one component fails, who can keep working? →One process fails. Must unrelated requests wait? Separate failure propagation from throughput limits, then trace what the operating system and service manager can actually isolate.