Code Review 3

This round of code reviews will be structured like previous code reviews:

General Issues

Finding a clean decomposition for this project is challenging. When you are reviewing a project, please consider the following overall issues in addition to the specific topics listed for the project below:

Schedule

PresentersReview&PresentReview
Jayden/Blake (clash5)Akshay, YulianNone
Yipeng/Wantong (clash9)JuliaNone
Jestin/Marc (clash8)AdrienNone

Review Topics

Here are the particular topic(s) to review for each project, along with a few suggested questions to consider. In addition to these questions, feel free to discuss other design issues, either good or bad, that you notice in reviewing the code.

Jayden/Blake (clash5) and Yipeng/Wantong (clash9)

Review the overall decomposition of functionality between the various .cc files. Does this provide a clean separation of concerns? Are the APIs deep? Is there information leakage? Are there other things that could possibly have been separated into different classes?

Jestin/Marc (clash8)

Review the structure of the parser (clash_parser). Is it easy to understand the structure of the parser and convince yourself that it handles all of the required constructs? Is the handling of each construct concentrated in a single place where it's easy to understand, or spread over several places?