CSC/ECE 517 Spring 2017 E1711: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
Line 13: Line 13:


The following issues were identified as the scope of this project  
The following issues were identified as the scope of this project  


* <i>scheduled_task.rb</i> duplicated most of its code from <i>delayed_mailer.rb</i>.  Our objective is to reduce/remove the duplication in keeping with the DRY principle.
* <i>scheduled_task.rb</i> duplicated most of its code from <i>delayed_mailer.rb</i>.  Our objective is to reduce/remove the duplication in keeping with the DRY principle.
Line 18: Line 19:
* The <code>mail_signed_up_users</code> is long and should be broken into smaller and better named methods
* The <code>mail_signed_up_users</code> 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
* Add/modify test cases as we added/removed/modified areas of the code


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]

Revision as of 23:50, 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