*

[Online Feedback Management System for Education]_

Coding Best Practices

The goal is to make the code as if it was written by one person.

Quality

Style

Learning

Refactoring

Comments

Code formatting

Issue tracking

Revision control

Security

Quality

Style

Learning

Logic:

Storage:

Refining a slice

The purpose is to,

  1. understand all layers or the system, including how testing is done at each layer, without having to learn the entire codebase.
  2. calibrate your coding style and code quality to match the expected standard.

Choose an action assigned to you for the slice. e.g. instructorsCoursesPageAction

The corresponding slice includes the code that calls this action and called by this action.

e.g.

[ instructorCourses.jsp and related js/css/java files]→ [instructorsCoursesPageAction.java] → [ Some methods in Logic.java ] → [ Some methods in CoursesLogic.java ] → [Some methods in CoursesDb.java]

and the corresponding test code.

Your job is to study this slice, and improve it. The slice could already include some TODO items, but don’t limit yourselves to those items only. Try to improve code quality as well as test coverage. You can use the reference files mentioned above as a guide.

Remember to check test coverage using a tool such as eclEmma. This may be useful: Measuring server-side coverage of GAE applications using EclEmma 

There is no need to create a separate issue for each slice, but do create a separate pull request. The branch name can be something like slice_instructorCoursesPage. When merging these pull requests, use the PR number instead of the issue number in the merge commit message. e.g. [4321] refining slice slice_instructorCoursesPage 

Refactoring

Comments

User-visible text

Code formatting

Issue tracking

Revision control

Security

---End of Document---