CSC/ECE 517 Fall 2016/E1641. Refactor review mapping controller.rb: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 2: Line 2:


==Current Implementation and Problems==
==Current Implementation and Problems==
4. There was a self-review feature, the method add_self_reviewr, get_team_from_submission are related to this. Two views calls add_self_reviewer are ç. The names of views are not related to self_review feature. Plus those two views are not called anywhere.
# Method names for dealing with the 5 different kinds of objects should be as similar as possible, and they should share helper functions when possible.
# Method response_report has some sql - like code.  Rewrite with Active Record.
# Test whether method add_user_to_assignment is used. There is no way that this method should be in ReviewMappingController.--plz remove this method and caller.
# There was a self-review feature, the method add_self_reviewr, get_team_from_submission are related to this. Two views calls add_self_reviewer are ç. The names of views are not related to self_review feature. Plus those two views are not called anywhere.
# Method delete_all_reviewers actually only deletes the outstanding review response maps (the ones which has been initiated, but there is no response yet). So it should better be named delete_outstanding_reviewers. You can try to test this method by clicking “Assign reviewers” icon on an assignment.
# Method delete_all_reviewers actually only deletes the outstanding review response maps (the ones which has been initiated, but there is no response yet). So it should better be named delete_outstanding_reviewers. You can try to test this method by clicking “Assign reviewers” icon on an assignment.
# Method release_reservation should be renamed as release_mapping. In addition, delete it if you find this method is not called anywhere.
# Method release_reservation should be renamed as release_mapping. In addition, delete it if you find this method is not called anywhere.

Revision as of 01:48, 29 October 2016

Background

Current Implementation and Problems

  1. Method names for dealing with the 5 different kinds of objects should be as similar as possible, and they should share helper functions when possible.
  2. Method response_report has some sql - like code. Rewrite with Active Record.
  3. Test whether method add_user_to_assignment is used. There is no way that this method should be in ReviewMappingController.--plz remove this method and caller.
  4. There was a self-review feature, the method add_self_reviewr, get_team_from_submission are related to this. Two views calls add_self_reviewer are ç. The names of views are not related to self_review feature. Plus those two views are not called anywhere.
  5. Method delete_all_reviewers actually only deletes the outstanding review response maps (the ones which has been initiated, but there is no response yet). So it should better be named delete_outstanding_reviewers. You can try to test this method by clicking “Assign reviewers” icon on an assignment.
  6. Method release_reservation should be renamed as release_mapping. In addition, delete it if you find this method is not called anywhere.
  7. Method delete_mappings is problematic. It does not looks like a controller method. Please refactor it or delete it if you can validate that this method is not called anywhere.
  8. Method automatic_review_mapping_strategy is too long. Please refactor and test it.

Changes Implemented

4. By searching the whole project and routes, we verify that methods add_self_reviewr and get_team_from_submission in this controller are not called by any other methods except for views add_self_reviewr, get_team_from_submission. And those two views are not linked to any other views. So they are deleted from the project.

Test