Skip to content

Task Cross Reviewing

caracciolo edited this page Nov 12, 2014 · 6 revisions

1. Write: Cross-reviewing

The assignment consists of 2 points:

  1. Write a constructive and useful review of the project assigned to your team using the checklist template reported below. The review should serve as guideline to improve both code and design. Avoid general statements and bring concrete examples.

  2. Pick a class of choice from the controller package and analyze its code. Does the class have too many responsibilities ? Is there some logic that should be moved to another class ? If so, why ?

The Review must be saved in the assigned repository (NOT yours) at the following location: /Review/
Accepted file types: txt, doc, pdf (diagrams can be embedded or saved as image files)

Project checkout

For this assignment, you will look into the repository of another team. The repository assigned to your team is assigned based on the formula: ((i+3)mod 9)

That is: 1 -> 4, 2 -> 5, 3 -> 6, 4 -> 7, 5 -> 8, 6 -> 1, 7 -> 2, 8 -> 3.

The security settings on github should have been changed so that you have access to the assigned repo. During this week you will still be able to access your repository and work on your codebase. Contact the assistants in case of troubles.

After cloning the assigned repo, checkout v1.0:

git clone https://github.com/ese-unibe-ch/ese2014-team**.git
git checkout tags/v1.0

Checklist template

Use the following checklist template for writing your review:

Design

  • Violation of MVC pattern
  • Usage of helper objects between view and model
  • Rich OO domain model
  • Clear responsibilities
  • Sound invariants
  • Overall code organization & reuse, e.g. views

Coding style

  • Consistency
  • Intention-revealing names
  • Do not repeat yourself
  • Exception, testing null values
  • Encapsulation
  • Assertion, contracts, invariant checks
  • Utility methods

Documentation

  • Understandable
  • Intention-revealing
  • Describe responsibilities
  • Match a consistent domain vocabulary

Test

  • Clear and distinct test cases
  • Number/coverage of test cases
  • Easy to understand the case that is tested
  • Well crafted set of test data
  • Readability
Clone this wiki locally