Skip to content

Latest commit

 

History

History
29 lines (18 loc) · 1.36 KB

GeneralGuideLines.md

File metadata and controls

29 lines (18 loc) · 1.36 KB

General Guide

Integration Tests: "Integration test coverage is nonexistent. Not good. You should either think about adding some traditional Rails integration tests or experimenting with a tool like Cucumber to do BDD-style integration tests."

Models too light, controller too heavy "Models are generally pretty light and controllers are pretty heavy. Likely you'll want to look at moving functionality from controllers down into models."

Move Page Updates to RJS "Doing a bunch of AJAX-style updating in controller methods is iffy. Normally, I'd move those to RJS templates. Alternatively, it's worth looking at whether to avoid RJS and the page.replace_html (etc) method entirely, and move to JQuery or similar."

Fix up models to use ActiveRecord better

Here are a few spots I see where ActiveRecord isn't being used effectively.

For example:

:: ~ class Mark < ActiveRecord::Base ~ belongs_to :rubric_criterion ... #return the current mark for this criterion def get_mark criterion = RubricCriterion.find(rubric_criterion_id) return mark.to_f * criterion.weight end

end

Could be rewritten to

:: ~ class Mark < ActiveRecord::Base ~ belongs_to :rubric_criterion ... #return the current mark for this criterion def get_mark return mark.to_f * rubric_criterion.weight end

end