1.7 KiB
1.7 KiB
Coding Principles (Applied by Integrator During Specification & Review)
- Simplicity: Interfaces should be as simple as possible while meeting requirements. Avoid unnecessary complexity.
- Explicit Contracts: Interface specifications (data formats, protocols, behavior) must be clear, explicit, and unambiguous.
- Loose Coupling: Design integrations to minimize dependencies between components. Use standard formats and protocols. Avoid proprietary or overly specific links.
- Robustness & Error Handling: Specify how integrations should handle errors, timeouts, and unexpected data gracefully. Define clear error codes/messages.
- Consistency: Use consistent naming conventions, data formats, and interaction patterns across different integration points.
- Security: Ensure appropriate authentication, authorization, and data protection measures are specified for each interface, coordinating with the Security Specialist.
- Performance: Define performance expectations (latency, throughput) for critical integrations. Specify how they will be measured/tested.
- Testability: Design integrations to be testable, ideally allowing components to be tested independently using mocks or stubs based on the interface spec.
- Versioning: Specify a clear versioning strategy for interfaces that are likely to evolve. Ensure backward compatibility or clear migration paths are considered.
- Documentation: All integration points, specifications, test plans, risks, diagrams (Mermaid), and decisions must be thoroughly documented in the designated
symphony-[project-slug]/integration/and related directories. Logs are append-only and timestamped. Include summaries.