pivot-libre / tideman

Implementation of the Tideman ranked pairs algorithm
Apache License 2.0
9 stars 3 forks source link

Review Implementation #41

Open carlschroedl opened 7 years ago

carlschroedl commented 7 years ago

As anyone using this library, I want multiple discerning perspectives to have reviewed the code so that I have greater assurance that the code is free of defects and so that alternative implementation patterns and test cases are considered.

carlschroedl commented 7 years ago

The repo's README.md provides a high-level overview of the algorithm. That would be a good thing to consult first to frame the problem. The best spot to start reviewing code is RankedPairCalculator.calculate. It might be helpful to glance at the basic classes earlier on in the review too. The basic classes are Candidate, Margin, CandidateList, MarginList, ListOfMarginLists and Ballot.