CSC/ECE 517 Fall 2014/oss E1502 wwj: Difference between revisions
Jump to navigation
Jump to search
Line 51: | Line 51: | ||
===Format Refactoring=== | ===Format Refactoring=== | ||
====Case 1: Loop==== | ====Case 1: Loop==== | ||
Change all | Change all the looping conditions into one format<br> | ||
<b>Before</b> | <b>Before</b> | ||
<pre> | <pre> | ||
# Remove a given questionnaire | # Remove a given questionnaire | ||
def delete | def delete | ||
. | |||
. | |||
. | |||
for question in @questionnaire.questions | |||
. | |||
. | |||
. | |||
end | end | ||
</pre> | </pre> | ||
<b>After</b> | <b>After</b> | ||
<pre> | <pre> | ||
# Remove a given questionnaire | # Remove a given questionnaire | ||
def delete | def delete | ||
. | |||
. | |||
. | |||
@questionnaire.assignments.each | |||
. | |||
. | |||
. | |||
end | end | ||
</pre> | </pre> | ||
====Case 2: Name==== | ====Case 2: Name==== | ||
Change all the name from "JAVA name" to "Ruby name" | Change all the name from "JAVA name" to "Ruby name" |
Revision as of 02:55, 21 March 2015
E1502: Questionnaire Controller Refactoring
red writing
Introduction to Expertiza
Project Description
What it does:
Used on the admin side of Expertiza for creating/ editing questionnaires (rubrics, surveys and quizzes). It helps in add/removing questions, options, etc for a questionnaire.
Other classes involved:
What needs to be done:
What We Have Done
Method Refactoring
Method Name | Changes Made | Reason For Change |
---|---|---|
copy | Extracted the content of this method as copy_questionnaires method and put it in questionnaire.rb | The content of this method is about operations on the database (coping a questionnaire), it is better to put it in the model |
valid_quiz | Moved this method to quiz_questionnaire.rb | This method is about validation of the quiz, it shouldn't appear in the controller |
export | Moved this method to questionnaire.rb | This method exports the questionnaires as csv file, it should't appear in the controller |
import | Moved this method to questionnaire.rb | This method imports the questionnaires from csv file, it should't appear in the controller |
clone_questionnaire_details | Deleted this method due to the duplication | Substituted by copy_questionnaires method in questionnaire.rb |
Format Refactoring
Case 1: Loop
Change all the looping conditions into one format
Before
# Remove a given questionnaire def delete . . . for question in @questionnaire.questions . . . end
After
# Remove a given questionnaire def delete . . . @questionnaire.assignments.each . . . end
Case 2: Name
Change all the name from "JAVA name" to "Ruby name" Before
#save an updated quiz questionnaire to the database def update_quiz . . . questionnum=1 . . . end
After
#save an updated quiz questionnaire to the database def update_quiz . . . question_num=1 . . . end