Reviewers should use the following questions as guidelines for their review. Generally a review covers four areas: user interface, functionality, code, and documentation. It depends on the ticket which areas are affected.
A full review covers all of the questions.
A minimal review covers at least the first two questions of each area.
- Does it have the look and feel of HeuristicLab?
- Is it understandable, does the user know what to do?
- Are appropriate controls used?
- Are controls correctly locked/set readonly?
- Is it responsive?
- Are important features missing?
- Are there additional interesting features (maybe for later)?
- If it is a storable item, can it be correctly saved and loaded?
- Are/should unit tests be included?
- Is the impact of the change appropriate?
- Is the feature implemented in the right plugin?
- Is it fast enough?
- Does the code follow the DevelopersGuidelines (style, naming conventions, etc.) and the DevelopersBestPractices?
- Are suitable class, property and parameter names used?
- Is the code understandable or is there an appropriate comment?
- Is backwards compatibility maintained?
- Is the code written according to already used concepts?
- Are existing components reused and/or is the code written in a way that it can be easily reused by other components?
- Were common pitfalls avoided (missing event handler registration in AfterDeserializationHook, missing members in cloning constructor)?
- Do the common unit tests pass?
- Are the classes well designed?
- Are the code files well structured?
- Is it correct and up to date?
- Is important information missing?
- Is the style consistent with the rest of the documentation?
- Is it short enough?