Skip to main content
Pull Request Checklist
General Items
- Code compiles
- Code has been developer-tested
- Code is tidy (indentation, line length, no commented-out code, no spelling mistakes, etc)
- Code adheres to the Coding Styles and Standards Guidelines (Found in the documentation folder)
- Exceptions have been used properly
- New functionality is appropriately logged as needed
- Unused using's have been removed
- Eliminated warnings
- Ensured NullReference Exceptions caught or handled appropriately
- Leftover stubs and test routines have been removed
- Hard-coded or development only things have been removed
- Considered performance and scalability
- Considered security, and potential exploits
- All resources (HTTP connections, DB connection, files, etc) properly released in all code exits (i.e. normal and exception)
- Corner cases and workarounds for known limitations of dependencies are well documented
- No new code is a repeat of existing functionality that can be safely reused
- Thread safety and possible deadlocks are considered and handled accordingly
- Method bodies are kept as close to 4 lines or less if possible
- Method names must be descriptive (reveal their intention aka what they do)
- Methods do one thing only
- Asynchronous Methods have the post-fix of "Async" appended to the end of their names.
Utopia Specific Checklist Items
- All code added to UtopiaSharedClasses is safe to expose to customers (No sensitive information)
- Libraries or projects that could become Libraries should be stored at the top level of the Utopia Repository
- Public API endpoints have documentation comments if needed
General
- .NET standard Coding Guidelines: https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/
- Clean Code Book with corresponding guidelines are found in the Utopia Repository under Documentation.
Code Reviewer's Checklist
- Types have been generalized where possible
- Parameterized types have been used appropriately
- Exceptions have been used appropriately
- Repetitive code has been factored out
- Frameworks have been used appropriately – methods have all been defined appropriately
- Classes have been designed to only have one purpose
- Views do not contain business logic
- Common errors have been checked for
- Potential threading issues have been eliminated where possible
- Any security concerns have been addressed
- Performance and Scalability was considered
- The functionality fits the current design/architecture
- The code does not use unjustifiable static methods/blocks
- The code complies to coding standards
- Logging used appropriately (proper logging level and details)
- Exception use is in compliance with proper methodology
- Code quality is excellent
Utopia Specific Checklist Items
- All code added to UtopiaSharedClasses is safe to expose to customers (No sensitive information)
- Libraries or projects that could become Libraries should be stored at the top level of the Utopia Repository
- Public API endpoints have documentation comments if needed
- Functionality should be exposed at the highest layer of the architecture as possible and only moved down when reuse becomes necessary. (i.e. CSV generation at the presentation layer, but could be moved into business logic if reuse becomes necessary)