iP:
Level-7
, Level-8
A-MoreOOP
, A-Packages
, A-Gradle
, A-JUnit
, A-Jar
A-JavaDoc
, A-CodingStandard
, Level-9
tP:
You are required to follow the Git standard from this week, as specified in this page.
Only future commits need to follow the Git standard. Editing past commit messages (to make them comply with the Git standard) is discouraged as it changes the commit timestamp, which can alter your iP progress timeline (as seen by progress tracking scripts).
Reminder about the deadline for the weekly project tasks:
master
branch of your fork to the master
branch of the upstream repo (https://github.com/nus-cs2103-AY2425S1/ip)[{Your full/partial name or your GitHub username}] iP
[Richard Mathews Chee] iP
or [Rich ... hee] iP
or [TheRichMat] iP
The PR will update automatically to reflect your latest code every time you push code to your fork. As a result, it provides a convenient way for us to access the current state of all your iP code from one location.
Level-7
, Level-8
If you are new to Git branching, before attempting this iP increment, first learn Git branching from this week's textbook topics. In particular, learn how to merge a branch without fast forwarding.
branch-Level-7
. Here are the steps:
branch-Level-7
.master
branch (remember to create a merge commit i.e., no fast-forward).master
branch as usual (i.e., add the tag Level-7
).master
branch,branch-Level-7
branch,Level-7
tag.b1
to the master
branch, you need to push both the master
and the b1
branches to the fork. Pushing the master
branch does not automatically take the b1
branch along with it just because it is already merged to the master
branch.branch-Level-8
. Guidance for the item(s) below:
As you know, one main goal of the iP is to prepare for you for the tP. The task below is heavy on the 'training for tP' aspect.
In previous iP increments, you learned:
master
branch to an upstream repoIn the following iP task you will learn how to do the following new things, which are relevant to the tP:
master
Due to the above learning goals, this iP task is a bit complicated. Pay attention and try to achieve all learning goals along the way.
First, do each increment as a parallel branch (follow the branch naming convention you followed earlier branch-Level-8
etc.), but do not merge any.
Then, push each branch to your fork, and create a PR within your fork (i.e., from the increment branch to the master
branch). Be careful not to create a PR to the upstream repo. If you did create such a PR by mistake, no worries, just close it yourself.
When you are doing the next step, you can run into merge conflicts. In some cases, GitHub will give you a way to resolve those conflicts using the Web interface. While this approach may be good enough for simple merge conflicts, de-conflicting locally in the standard way is safer (e.g., you can run tests to confirm the updated code is correct) and more standard (it's a standard Git feature that you can use even when you are not using GitHub for your project).
Create merge commit
option when merging.master
branch of your local repo to fall behind that of your fork (). Therefore, you need to sync the local master
with the remote master
branch. One way to do that is to switch to the local master
branch and then pull the updated master
branch from your fork e.g.,$ git checkout master
$ git pull origin master
A-Assertions
PR first.master
. To rectify, merge the master
branch on to each of them. Resolve merge conflicts, if any. The outcome will be something like the below:A-CodeQuality
PR and syncing the local branch-A-Streams
with the updated master
branch.A-MoreOOP
, A-Packages
, A-Gradle
, A-JUnit
, A-Jar
master
branch will always stay in a 'unbroken' state as the work-in-progress will be in a separate branch till such work is ready to be merged.A-Gradle
you can use the Gradle option (rather than the IntelliJ option) when doing A-JUnit
and A-JAR
as they are easier to do using Gradle.Note that if A-Jar
increment does not require any code changes, you may tag the commit at which this was achieved as A-Jar
(even if that commit has another tag already). Otherwise, tag the latest commit as usual. In both cases, push the tag to the fork.
A-JavaDoc
, A-CodingStandard
, Level-9
branch-A-JavaDoc
, branch-A-CodingStandard
, branch-Level-9
), and then merge them one-by-one. Hopefully, you will encounter some merge conflicts so that you get to practice de-conflicting branches.A-CodingStandard
) are given in this page.Relevant SE-EDU guide: Intellij IDEA: Configuring the code style
If you can spare some time, start learning JavaFX by following the JavaFX tutorial @SE-EDU/guides. Doing so will make your life easier in the following week.
This week, we kick off the tP with a few light individual and team tasks, described in the sections below.
indicates an individual task (i.e., each team member has to do the task, graded individually)
indicates a team task (i.e., some or all members may do the work; graded for the whole team).
/ indicates one-person-per-team task (i.e., one member can do the task on behalf of the team, although other members are welcome to pitch in).
Stronger teams are welcome to stay one week ahead of the tP schedule. However, do not move ahead more than one week, as doing tP in a short burst will interfere with some of its learning outcomes.
Objectives: (1) To get each of you to think of ways to improve AB3 (2) To detect any Java version compatibility issues between your local set up and the expected Java version.
Submission: via Canvas survey named tP: AB3 Initial Experience
by Sat, Aug 31st 23:59
Steps:
add ...
command)..png
file.One member is slightly behind and one significantly behind. We plan to have a code-together session on Sunday so that we can help them if they encounter problems.