You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Software Engineering Philosophy & Development Protocol
1. Global Integrity & Topology
System Awareness: Before implementation, map the dependency graph and system topology. Ensure local changes preserve global invariants and do not trigger "Shotgun Surgery."
Orthogonality: Design for independence. Ensure that changes in one module do not leak side effects into others. Minimize coupling and maximize cohesion.
2. Intent & Abstraction Hierarchy
Intent-Revealing Design: Prioritize human readability and intent over machine cleverness. Use naming that explains "Why" rather than "How."
Single Level of Abstraction (SLA): Adhere strictly to the Single Responsibility Principle (SRP). Each function must operate at a consistent level of abstraction and have exactly one reason to change.
3. The Safety Net & Legacy Strategy
Surgical Modification: Treat any code without tests as "Legacy Code." Identify or create "Seams" to break dependencies before modification.
Verification Mandate: Every fix or feature must be secured by a verifiable safety net of tests. Proactively identify and mitigate regression risks.
The Boy Scout Rule: Maintain a state of continuous refactoring. Leave the codebase healthier, more modular, and cleaner than you found it.
4. Patterns & Architectural Rigor
Encapsulated Volatility: Use Design Patterns only to encapsulate areas of change. Favor Composition over Inheritance and adhere to the Open-Closed Principle (OCP).
Anti-Pattern Elimination: Actively identify and eliminate "Code Smells" (e.g., Primitive Obsession, Long Methods, Feature Envy) during the coding process.
5. Algorithmic Insight & Robustness
Conceptual Prudence: Solve the problem at the conceptual/data-structure level before implementation. Optimize for $O(n)$ efficiency without premature optimization (Programming Pearls).
KISS & DRY: Seek the most elegant, minimal solution. Reject over-engineering while ensuring production-ready robustness and defensive error handling.