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

[Lin Weilin] iP #368

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

Conversation

weilin1202
Copy link

@weilin1202 weilin1202 commented Jan 31, 2023

BearyBear

“Your mind is for having ideas, not holding them.” – David Allen source

BearyBear frees your mind of having to remember things you need to do. It's,

  • text-based
  • easy to learn
  • SUPER FAST to use

All you need to do is,

  1. download it from here.
  2. double-click it.
  3. add your tasks.
  4. let it manage your tasks for you 😉

And it is FREE!

Features:

  • Manage Different Types of Tasks
  • Update status of tasks
  • Save the tasks locally

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

public class Launcher {
    public static void main(String[] args) {
        Application.launch(Main.class, args);
    }
}

Copy link

@nicleejy nicleejy left a comment

Choose a reason for hiding this comment

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

Overall, the coding standard has been followed, just apart from some minor issues! 👍 In most of your classes, do remember to keep fields private to prevent unwanted modifications by the user. It might also be good to declare Task as an abstract class since it should not be instantiated at any point in the program. Do let me know if you have any queries regarding my comments :)

Comment on lines 6 to 7
String taskDescription;
LocalDate deadLine;
Copy link

Choose a reason for hiding this comment

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

Since these class fields have corresponding getters and setters, it might be better to make them private to prevent any unintended modifications.

System.out.println("Got it. I've added this task: \n " + task +
"\nNow you have " + taskList.size() + " tasks in the list.");

} else if(input.length() > 5 && (input.substring(0, 5)).equals("event")) {
Copy link

Choose a reason for hiding this comment

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

Try to surround reserved words with a whitespace for consistency

Comment on lines 5 to 7
String taskDescription;
LocalDate startDate;
LocalDate endDate;
Copy link

Choose a reason for hiding this comment

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

Same goes for this, regarding making class fields private

Comment on lines 24 to 27
@Override
public String toString() {
return "[D]" + super.toString() + " ( by: " + this.getDeadline() + " )" ;
}
Copy link

Choose a reason for hiding this comment

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

This is a good way to separate the different display behaviors of different task types 👍

weilin1202 and others added 19 commits February 7, 2023 08:08
Parser performCommand: Code quality has not been achieved because method is too long and OOP is not fully achieved 

PerformCommand is supposed to handle the general processing of command, checking the performing comman shall be done in separate classes for each different cases. 

Created several classes in Parser to handle different types of commands to make the code quality better, ensuring methods are not too long and as well as to make full use of OOP.
…omised path for my hard disk

The user using Duke might not have same file path in local hard disk

The file path has thus been changed to ./data/duke.txt which makes it more general than the previous iteration

Let's create a new text file in ./data/duke.txt instead of C:\Users\linwe\Documents\taskSaved.txt!
…of the validity of inputs are not robust

Checking not being robust will result in Duke mis-intepereting an input as valid when it is not, thereby causes execption being thrown without catching

Included more robust checking to ensure the inputs are in correct format, before a task object is created

Let's check the inputs by trying throwing and catching exception when inputs are incorrect!
Same tasks can be added multiple times

Add C-DetectDuplicates

It is more user friendly so that users would not accidentally add
same tasks into the task list.

Let's
* Check whether there are existing same task in task list as the task
that user has keyed in
* Include the equals function in task to check whether two tasks are
the same or not
and improved implementation of the different tasks
Improve code style and quality and passed checkstyle
Entering dates before the current date is not allowed
For event, start date cannot be after end date
Settle case when input is missing or is filled with spaces
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.

2 participants