CSC/ECE 517 Spring 2023 -E2326 Refactor questionnaires controller.rb: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
__TOC__
__TOC__
= Project Overview =


== Background ==
 
= Background =


In Expertiza, Questionnaire is the superclass for all kinds of questionnaires and rubrics—rubrics for evaluating submissions and teammate contributions, and taking quizzes and surveys.  All of these are subclasses of Questionnaire.  questionnaires_controller.rb is charged with creating, displaying, and managing Questionnaires.  Because it is used so widely, malfunctions could cause bugs in many parts of the system; hence it is especially important that the code be clear.
In Expertiza, Questionnaire is the superclass for all kinds of questionnaires and rubrics—rubrics for evaluating submissions and teammate contributions, and taking quizzes and surveys.  All of these are subclasses of Questionnaire.  questionnaires_controller.rb is charged with creating, displaying, and managing Questionnaires.  Because it is used so widely, malfunctions could cause bugs in many parts of the system; hence it is especially important that the code be clear.


== Project Purpose ==
= Project Purpose =


In recent years, questionnaires_controller.rb has been refactored repeatedly.  It is a lot clearer than it used to be.  But rough edges still remain.
In recent years, questionnaires_controller.rb has been refactored repeatedly.  It is a lot clearer than it used to be.  But rough edges still remain.
Line 13: Line 13:




== Design ==
= Design =


=== Problems and planned changes ===
== Problems and planned changes ==
problems and planned changes
problems and planned changes


Line 21: Line 21:
  Github: https://github.com/Soultrekker21/expertiza
  Github: https://github.com/Soultrekker21/expertiza


== Test Plan ==
= Test Plan =
  test1
  test1
  test2
  test2

Revision as of 22:20, 8 April 2023


Background

In Expertiza, Questionnaire is the superclass for all kinds of questionnaires and rubrics—rubrics for evaluating submissions and teammate contributions, and taking quizzes and surveys. All of these are subclasses of Questionnaire. questionnaires_controller.rb is charged with creating, displaying, and managing Questionnaires. Because it is used so widely, malfunctions could cause bugs in many parts of the system; hence it is especially important that the code be clear.

Project Purpose

In recent years, questionnaires_controller.rb has been refactored repeatedly. It is a lot clearer than it used to be. But rough edges still remain. question.rb contains a large number of constants. It is not clear what they are used for. There is a questionnaires_controller, but no questions_controller. The questionnaires_controller creates Question objects. This is not elegant, because a controller should only create objects of one type, the type of objects it controls.


Design

Problems and planned changes

problems and planned changes

Important links

Github: https://github.com/Soultrekker21/expertiza

Test Plan

test1
test2