iP:
A-CheckStyle
, Level-10
, A-Varargs
tP:
Mac users: Ensure you have followed the advisory given here.
If you wish, you may write the PR description to be very similar to the example given above -- as the goal here is to demonstrate your mastery of the GFMD syntax (not ad writing skills).
Please wait till Mon, Sep 4th to start this task, to give others a few extra days to create the PR if they haven't done so yet.
This task is worth 2x2=4
participation points.
Step 1 Note these additional guidelines:
Comment
(i.e., not Approve
or Request changes
)Step 2 Do the first PR review as follows.
If the student you have been allocated to review has not created a PR (or the PR has a trivial amount of code), you can review the Backup PR to review provided in the allocation table. Failing both, review another PR allocated to another student in your own tutorial but not in your team.
Tip for future reference: GitHub allows you to filter PRs/Issues using various criteria such as author:AuthorUsername
(example -- see the filters
text box in the target page).
Alternatively, you can use PR labels (if any) to filter PRs/Issues.
FAQ: How many comments should I add? Answer: Depends on the code being reviewed but we expect most PRs would warrant at least 4-5 comments. If the PR is huge, you can stop when you think you've put in a fair amount of time on the job (~15 minutes) and added enough comments for the PR author to receive some value.
If the allocated PR is not suitable, use the same strategy as before to find an alternative PR to review.
Links → iP Code Dashboard
item in the top navigation menu of this course website.We encourage you to read others’ code and learn from them. If you adopt solutions from others (also encouraged), please follow our reuse policy. Click on the icon corresponding to a student name to see the code written by that person.
Similarly, click on the icon to see a list of tags (and commits) -- this way, you can find which increments have been done by a particular student.
A-CheckStyle
, Level-10
, A-Varargs
Attention Mac users! If you are not using the exact JDK distribution specified by our advisory for Mac users in this page, you are likely to run into problems while doing Level-10
.
Note that you no longer need to keep the text-based UI after adding a GUI. Similarly, there is no need to use the I/O redirection style automated testing anymore (that technique is suited for text UIs only).
As we are still at the early stages of identifying a problem to solve, do not think of the product (i.e., the solution) yet. That is, do not discuss the product features, UI, command format, and implementation details, etc. unless they are pertinent to the decision of the project direction.
Pick the morph option at your own risk: As mentioned elsewhere, morph option (i.e., aiming to build an application that manages anything other than contacts) is the harder option, especially at the start of tP coding (morphing is an extensive change that needs to be done very early in the project, and quickly). Choose it only if your team has at least one strong programmer who is willing to invest extra effort to create a 'different' application.
Pick a CLI-friendly product domain: Given Recommendation-CLI-First
and Constraint-Typing-Preferred
mentioned in the panels above, it makes sense to pick a product domain that is more suitable for CLI interactions i.e., a product that deals with easy-to-type textual data, needs a small number of data fields, and each data field is short. For example, a blog editor is an unsuitable product domain because it also deals with non-text data (e.g., images, videos) and some data fields are quite long (i.e., paragraphs of text). Similarly, keeping track of extensive employee records may be an unsuitable domain if there are many data fields per employee.
cs2103@comp.nus.edu.sg
.