- Ensure you know tP expectations
- Start implementing v1.0
- Use GitHub to manage milestones
- Add some JUnit Tests
1 Ensure you know tP expectations
- If you haven't done so already, make sure you know individual and team expectations of the tP
2 Start implementing v1.0
You may i.e., copy-paste, not clone/forkre-purpose/adopt code from any of the below to be used in your tP, provided you give credit to the source (and do not claim such code as yours).
- The iP code of any of your team members, or of any other person in the module.
- Code from AddressBook-Level2 or any code used in module activities
Learn how to use Gradle
- The tP project template given to you is already configured to use Gradle (a build automation and dependency management tool).
- If you haven't encountered Gradle before, learn more about Gradle from the Gradle tutorial @SE-EDU/guides
- Some useful Gradle tasks you can try (to familiarize yourself with using Gradle):
run: runs the project codeclean: deletes files generates from previous runscheck: runs the testscheckstyleMain: checks your Java functional code for compliance with some (but not all) rules specified in the coding standard, using a tool called checkstylecheckstyleTest: similar to above, but checks the test code insteadshadowJar: creates a JAR file for your project
- Note that GitHub Actions too is using Gradle to check the code you push to GitHub. Specifically, it runs the
checktask and then it uses theshadowJartask to build the JAR file which is then used to do I/O redirection tests (as per the files in yourtext-ui-textfolder)
Start implementing v1.0, by adding code in small steps, while working in parallel, aiming to produce a VERY simple working version after one week, and a bit more functional version at the end of iteration (i.e., after two weeks).
See the panel below for our recommendations on the project workflow.
3 Use GitHub to manage milestones
- We recommend using the GitHub issue tracker and its milestones feature to manage your project milestones, as explained in the following panels.
4 Add some JUnit Tests
We recommend that each person adds some JUnit tests to test their tP code.
Some examples from AddressBook-Level2:
- Software Under TestSUT
seedu.addressbook.common.Utils.java
Tests:seedu.addressbook.common.UtilsTest.java
Note how the test class is in the same package as the SUT (although in a different folder). Advantage: the test class has access to all non-private members of the SUT, including package private members. - SUT:
seedu.addressbook.parser.Parser.java
Tests:seedu.addressbook.parser.ParserTest.java
Note how some of the test methods follow a different naming convention e.g.,parse_emptyInput_returnsIncorrect(). Cross-check the coding standard to confirm if this naming convention is allowed. - SUT:
seedu.addressbook.data.AddressBook.java
Tests:seedu.addressbook.data.AddressBookTest.java
- Software Under TestSUT