CSC/ECE 517 Spring 2013/OSS E608: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 19: Line 19:
*Also apply other refactorings such as Rename variable, Rename method to give the variables and methods more meaningful names.
*Also apply other refactorings such as Rename variable, Rename method to give the variables and methods more meaningful names.
*Write unit tests for all the methods in each of the listed model classes.
*Write unit tests for all the methods in each of the listed model classes.
== Changes for models/course.rb ==
== Changes for models/course_participant.rb ==
== Changes for models/course_team.rb ==
== Changes for models/course_node.rb ==
== Miscellaneous Changes for Quality Improvement and Readability ==

Revision as of 18:51, 10 March 2013

Write-up of This Topic.

E608. Refactoring and Testing - Course Related Classes

Classes Involved:

  • models/course.rb (76 lines)
  • models/course_participant.rb (94 lines)
  • models/course_team.rb (116 lines)
  • models/course_node.rb (95 lines)

What it does: Involves creation and management of courses in Expertiza

What needs to be done:

  • It is not clear what a method named 'create_node' is doing in the 'course' class. Refactor by renaming this method appropriately.
  • In the course_team class the import method seems to be doing too many things. See if this method can be broken down into smaller methods with specific functionality.
  • The 'get' method in course_node.rb appears to be doing a lot. Refactor this method by breaking it up into smaller methods.
  • Look for any unused methods or variables in these files.
  • Also apply other refactorings such as Rename variable, Rename method to give the variables and methods more meaningful names.
  • Write unit tests for all the methods in each of the listed model classes.

Changes for models/course.rb

Changes for models/course_participant.rb

Changes for models/course_team.rb

Changes for models/course_node.rb

Miscellaneous Changes for Quality Improvement and Readability