Skip to content

hopesgit/futbol

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Design Strategy

Planning

  • Used a spreadsheet to calculate all the expected results for our tests
  • Used the steps taken in the spreadsheet as pseudocode for both methods and helper methods

Red, Green, Refactor

  • Refactored along the way by having all members review and approve each PR and submit ideas for improvement

Performance

  • Created objects on the fly by reading our data line by line as opposed to reading the entire csv files into memory
  • Kept our objects as lean as possible by excluding raw data that is not needed for the desired stat calcs
  • Refactored any methods using nested iteration with non-nested iteration solutions
  • Used Mocks and stubs in expensive test methods to reduce test time from 91s -> 65s seconds when testing with full dataset
  • Used fixture files to significantly improve test performance
  • Used class variables in tests instead of setup methods to ensure data was only loaded once

Inheritance and Modules

  • Created a Mathable module to hold an average method that is used in multiple calculations
  • Created a Helpable module that holds helper methods used for calculations in each of the data classes
  • Since Team, Game, and GameTeam are all classes that hold sets of data, we created a DataSet superclass to hold methods that are shared between those classes
  • Stored collections of Team, Game, and GameTeam data in class variables for each respective class (this was a transition from using Collection classes for each type of object)
  • Created class methods for methods that used all instances within that class

Graphical Representation

alt text

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%