CSC/ECE 517 Fall 2014/oss E1456 akk: Difference between revisions
No edit summary |
|||
Line 40: | Line 40: | ||
[[File:add_include_line.PNG|frame|center]] | [[File:add_include_line.PNG|frame|center]] | ||
=Conclusion= | =Conclusion= | ||
Refactoring was performed as per requirements in the files questionnaire_controller.rb, and advice_controller.rb. The code from models cannot be moved directly to controllers, so the code was moved to the helper class questionnaire_helper.rb. Some methods with confusing method names have also been renamed. | |||
=References= | =References= |
Revision as of 22:29, 29 October 2014
Refactoring Questionnaire Controller
Introduction
Questionnaire Controller interacts with the user to create and edit questionnaires such as review rubrics, teammate-feedback rubrics, quizzes, and surveys. This page provides a detailed description of Open Source Project on Expertiza for refactoring the questionnaire controller.
Project Overview
Classes involved
- questionnaire_controller.rb
- questionnaire_helper.rb
- advice_controller.rb
Changes made
- Functionality moved to quiz_questionnaire.rb.
- edit_advice method was not being used, so it was removed.
- save_advice moved to the advice_controller.
- copy, update_quiz, valid_quiz methods were long and have been broken up. clone_questionnaire_details was also broken up and renamed.
- Added comments to select_questionnaire_type
- Debug output (print statements) have been removed.
- Changed code to follow the global rules.
- save_new_questions, delete_questions, save_questions have been moved to a separate class.
Project Resources
UML CLass Diagram
Participant Model
Code Snippets
The quiz questionnaire related methods such as view_quiz, update_quiz, new_quiz and validate_quiz are moved to questionnaire_helper.rb to make the questionnaires_controller thin and follow global rule of thin controllers and fat models.
Conclusion
Refactoring was performed as per requirements in the files questionnaire_controller.rb, and advice_controller.rb. The code from models cannot be moved directly to controllers, so the code was moved to the helper class questionnaire_helper.rb. Some methods with confusing method names have also been renamed.