CSC/ECE 517 Spring 2017 E1711: Difference between revisions
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
==Scope of project E1711== | ==Scope of project E1711== | ||
The goal of E1711 was to refactor code found in the files <i>delayed_mailer.rb</i> and <i>scheduled_task.rb</i>. | The goal of E1711 was to refactor code found in the files <i>delayed_mailer.rb</i> and <i>scheduled_task.rb</i>. | ||
Line 24: | Line 25: | ||
Information about the assignment can be found on [https://docs.google.com/document/d/17f8WVW7i-S5i0HEc__33lDQYRu9RxD7HQndSumQ_-JA/edit#heading=h.kq28lsw1uwf4 this document] | Information about the assignment can be found on [https://docs.google.com/document/d/17f8WVW7i-S5i0HEc__33lDQYRu9RxD7HQndSumQ_-JA/edit#heading=h.kq28lsw1uwf4 this document] | ||
==Test Plan== | |||
As this was a purely refactoring effort, our testing consisted of confirming existing tests did not break, modifying existing tests to match our changes, or adding tests as needed. The below sections will cover each objective in detail and will include information on how testing was done for each of those changes. |
Revision as of 23:54, 22 March 2017
E1711. Refactor delayed_mailer.rb and scheduled_task.rb
Overview
Introduction to Expertiza
Expertiza is a web based tool that allows instructors to create collaborative assignments where students can provide peer feedback on each others work. It provides instructors a system to manage assignments and different courses.
Scope of project E1711
The goal of E1711 was to refactor code found in the files delayed_mailer.rb and scheduled_task.rb.
The following issues were identified as the scope of this project:
- scheduled_task.rb duplicated most of its code from delayed_mailer.rb. Our objective is to reduce/remove the duplication in keeping with the DRY principle.
- The
perform
method uses a giant case statement, instead we were to incorporate the use of polymorphism - The
mail_signed_up_users
is long and should be broken into smaller and better named methods - Add/modify test cases as we added/removed/modified areas of the code
Information about the assignment can be found on this document
Test Plan
As this was a purely refactoring effort, our testing consisted of confirming existing tests did not break, modifying existing tests to match our changes, or adding tests as needed. The below sections will cover each objective in detail and will include information on how testing was done for each of those changes.