Cai Ting’s Portfolio
Project: WildWatch
Welcome aboard fellow animal lover! We are really excited to have you here! 🐋
Wildwatch is a program for a clerk managing wildlife data in a wildlife reserve via the Command Line Interface (CLI).
Summary of contributions
Code contributed: link
Enhancements implemented:
add command
- interactive
add command
export command
FileCommand, which abstracts out the process of saving entries to files
- Helped to enhance skeleton with some abstract classes / interfaces:
Command, Parser
- Extended existing
InvalidInputException to allow for more robust error handling. Through overloading, it is possible to make use of InvalidInputErrorTypes so that error messages common to multiple commands may share an error message, else it is also possible to define custom error messages.
AddCommandParserTest
Contributions to team-based tasks
- Helped with refactoring and decoupling of initial code for increased maintainability and ease of contribution. This was not an easy task, as by the time I had started looking at the code many of the components were already cemented and quite complex. It took me a full weekend to both thoroughly understand how parts of the code linked together + figure out how best to decouple the components to ensure that I would be able to preserve parts of code already written by my teammates as much as possible, and would not heavily affect ongoing development. In the end, changes I made allowed for error-handling to be settled by-command, allowing for more fine-grained error messages and hence a better user experience.
- Created issues for v2.0 so that there’ll be less chance of overlapping efforts and everyone has the chance to contribute by assigning themselves to an issue.
- Consolidated PE-D issues into one place, noting duplicate problems, so that it’s easier to track and resolve issues (e.g. link1, link2).
Review/mentoring contributions
- Helped with testing and created issues for bugs found (e.g. link)
Contributions beyond the project team
- Participated in the code review of other team’s DG in tutorial
- Helped to spot issues in other team’s code during PE-D
Contributions to the UG
- Created initial markdown skeleton
- Created initial command reference table
add command
export command
- Helped to review the UG
Contributions to the DG
- Contributed
AddSequenceDiagram.puml
