Coding Standards MCP Server

  • templates
# Java Best Practices ## Project Structure project-root/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/company/project/ │ │ │ ├── api/ # API interfaces │ │ │ ├── config/ # Configuration │ │ │ ├── controller/ # Request handlers │ │ │ ├── model/ # Domain model │ │ │ ├── repository/ # Data access │ │ │ ├── service/ # Business logic │ │ │ └── util/ # Utilities │ │ └── resources/ │ │ ├── config/ # Configuration files │ │ ├── db/ # Database scripts │ │ └── static/ # Static resources │ └── test/ │ ├── java/ # Test classes │ └── resources/ # Test resources ├── docs/ # Documentation ├── .gitignore ├── README.md └── pom.xml # or build.gradle ## Architecture - Follow microservices principles if building distributed systems - Use layered architecture (Controller → Service → Repository) - Keep services small and focused - Design for failure - Make services independently deployable ## Dependencies - Keep dependencies up to date - Use dependency version management - Minimize external dependencies - Use appropriate dependency scopes - Include only what you need ## Security - Never store secrets in code - Use HTTPS everywhere - Implement proper authentication/authorization - Validate all inputs - Keep security dependencies updated - Follow the principle of least privilege ## Database - Use connection pooling - Implement proper transaction management - Use database migrations - Don't trust user input in queries - Keep database credentials secure ## Testing - Write unit tests for business logic - Include integration tests - Use proper test data - Mock external dependencies - Test error scenarios ## Monitoring - Implement health checks - Add proper logging - Include metrics collection - Monitor performance - Set up alerts for critical issues ## Documentation - Document public APIs - Keep documentation up to date - Include setup instructions - Document configuration options - Maintain changelog ## Performance - Use caching where appropriate - Implement pagination for large datasets - Profile your application - Optimize database queries - Use async operations when beneficial ## Error Handling - Implement global error handling - Use appropriate exception types - Log errors properly - Return proper error responses - Include error tracking