iP:
tP: v1.2
This activity is worth 2x2=4
participation points.
iP Peer Evaluation 1
) that you will be using to submit your evaluation and take note of the things you need to evaluate.cd smoke-test/ip1
)java -version
command to confirm you are using Java 17.java -jar "{file_name}"
command (rather than double-clicking) in the same terminal.iP Peer Evaluation 2
).What's happening this week:
Having practiced the workflow in the previous iteration, this week's iteration v1.2 adds the first wave of functional code changes.
v1.2
The breadth-first iterative approach requires each intermediate version to be a full working product. However, to make things a bit easier for you (as you are only getting started with the project), we will not be releasing any new product version at the end of this iteration. This means you have the freedom to create PRs for small code changes, without the pressure to implement a feature end-to-end within one PR (or even within this iteration).
Things to note:
COMMON MISTAKE: Not following the required phrasing style for the first sentence of Java method header comments.
Although MVP version is scheduled to be released in v1.3
and not in the current iteration v1.2
, in this task we refine the MVP features and divide them among the team members, because MVP is the first full product version anyway (i.e., there is nothing earlier that we can aim our plans at).
Ways to level up your tP game:
Consider the feature flaws and implementation bugs in the panels below that could cost you marks if they remained in the final version (these panels are extracts from the final product evaluation instructions given in the practical exam). If they are avoided from the start, there is no need to hunt them down and fix them later.
Tip: Especially note the part on overzealous input validation, which is a common issue found in tPs.
Each member is expected to in each .
Reason: As each iteration focuses on a different learning outcome, it is better for you to take part in each of them fully.
Prefer smaller PRs.
Reason: The ability to divide work into small yet meaningful PRs is another intended learning outcome.
Steps:
v1.3
, not by the current iteration v1.2
).v1.2
.v1.2
.v1.3
). As we did not plan to release a product version at the end of this iteration, we can freely move any pending work to the next iteration.Shocked by iP to tP transition? Around this time you will realize how the speed you can implement things in the tP is significantly slower compared to the iP. As discouraging as this might feel, there are several ways this can contribute towards the learning outcomes of this course, and it is not expected to affect your tP grade either.
Feel free to improve AB3 in any way you see fit. While not very 'buggy', AB3 is not 'perfect' either (it is not meant to be a 'model solution'). In particular, find and fix any bugs it has. If you are not sure if something is a bug or an intended behavior, you can post in the forum to check.
While we are on the topic, also note that the architecture of AB3 doesn't suit every kind of application either. As you gain more experience in other application domains, you will learn different types of architectures that you can add to the collection of different architectures that you can consider for future projects. The same goes for the tool chain and the tech stack of AB3. Therefore, do not try to apply AB3 as a template for every other project you encounter in the future.