Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[billieboy7} iP #519

Open
wants to merge 58 commits into
base: master
Choose a base branch
from
Open

Conversation

billieboy7
Copy link

@billieboy7 billieboy7 commented Sep 2, 2023

Duke - Task Tracker

"Implement whatever organizational system works best for you, but then be sure to review your to-do list at least once a week." – Cheryl Barker (Source)

Liberate your mind from the burden of remembering tasks. Duke offers:

  • Easy to use task tracker
  • Intuitive text-based interface
  • Remarkable speed SPEED

So what do you have to do :

  1. Download it from here.
  2. Double-click the executable.
  3. Input your tasks.
  4. Let it handle your task management for you 😉

Awesome Features

  • Task management
  • Calendar View (coming soon)
  • Reminders (coming soon)

If you Java programmer, you can use it to practice Java too. Here's the main method:

    public static void main(String[] args) {

        Duke duke = new Duke("./data/data.txt");
        duke.start();

    }

@billieboy7 billieboy7 closed this Sep 2, 2023
@billieboy7 billieboy7 reopened this Sep 2, 2023
Copy link

@jamz903 jamz903 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, I found your code easy to read for the most part, except that your code could use a bit of documentation for easier readability. I noted a minor coding violation, but otherwise your code is very well done 👍

return (isDone ? "X" : " "); // mark done task with X
}

public void taskDone(boolean status) {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor coding violation! Boolean variables/methods should be named to sound like booleans, and setter methods for boolean variables should be in the following form instead:

Suggested change
public void taskDone(boolean status) {
public void setDone(boolean isDone) {

Copy link

@jamz903 jamz903 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noted another minor coding violation, that has to do with one of your methods!

}

@Override
public boolean end() {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
public boolean end() {
public boolean getEnd() {


public void execute(TaskList taskList, UI ui, Storage storage) throws DukeException {}

public boolean end() {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
public boolean end() {
public boolean getEnd() {

@billieboy7 billieboy7 changed the title [billieboy7} iP #[billieboy7} iP Sep 8, 2023
@billieboy7 billieboy7 changed the title #[billieboy7} iP [billieboy7} iP Sep 8, 2023
billieboy7 and others added 18 commits September 17, 2023 00:26
There are no checks currently on how the user input is being handled within the program itself.

Using assert statements checks whether the input is being handled properly within the programme and whether each method is working in the way it is intended to.

Assert statements are preferred because their less disruptive.
Lack of standardisation of package names threw errors. execute method did not return anything which the gui package could use.

Standardised names of the package imports were from. execute method returns string to display on gui.
Merge branch 'master' into branch-A-CodeQuality
…ng methods

Parser class initially had 2 different operations - 1) To decide the type of command to be returned 2) Check for the validity of the formatting of the command once the type of command to be returned was determined.

Abstracting the second operation(validation check) allows the parse method to be simpler and look neater.
Users cant change the description without deleting the task.

Introduced a new functionality that allows for the updating of the tasks without deleting the older tasks.

Makes it easier, convenient and faster for the updating of task descriptions especially when there are multiple changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants