This round of code reviews has two goals. First, we will discuss how you added rich text capabilities to the editor, and the new abstractions you created and problems you faced along the way. Second, we will discuss what it was like to implement these extensions on a code base created by a different team. Each review will focus on a subset of the new features (see "Review Topics" below).
You should spend 10-15 minutes to present your project, focusing on the assigned topic for your review. First talk about how you implemented the new features; see "Review Topics" below for specific questions to consider. Second, spend a few minutes talking about what it was like to work with someone else's code. Discuss briefly the strengths and weaknesses of the code base you started from, and describe a few of the most important refactorings you performed as part of the project.
As in the past, please organize your presentation so that it will be understandable even to students who have not read your code.
Read over the code related to the assigned topic before class. You may use either the issue on cs190codereview.appspot.com or the repo on GitHub. As you read the project, consider its complexity with questions such as the following:
In addition, look at the refactoring
file, and consider
the changes this team made to the original code base. Do these changes
make the code base better or worse, and why?
Once you've read over the code, create an online code review for the project. As in the past, wait to publish your code review until after the in-class discussion.
In addition, prepare a few slides with your most important overall comments about the project. You will have 5 minutes to present these in class. As usual, please organize your review so that it can be appreciated even by students who have not read the code. Your comments will be most useful if they are specific: include examples from the implementation both for things you like and for things you don't like.
Each code review will focus on one of the topics described below:
For this topic, focus on the low-level mechanisms for managing text, such as:
For this topic, focus on the use of rich text in the GUI. For example:
Date | Topic | Presenters | Reviewers |
Wednesday, June 1 | Text Storage, File Format | Gadangi, Pradhan | S. Li, Starosta, Penkov |
Charitsis, Li | Walker, Rodriguez, Broder, Man | ||
Wednesday, June 8 | Displaying Rich Text, Selection | Penkov, Starosta | Pradhan, Walker, Gadangi |
S. Li, Man | Broder, Y. Li, Charitsis, Rodriguez | ||
Text Storage, File Format | Walker | Penkov, Starosta, Gadangi, Pradhan | |
Broder, Rodriguez | Man, Charitsis, Y. Li, S. Li |