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

[Ngoh Wei Yue] iP #65

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

Conversation

nweiyue
Copy link

@nweiyue nweiyue commented Aug 21, 2020

No description provided.

damithc and others added 30 commits July 23, 2020 23:27
Change class Data to Storage for better readability
Add classes:
* Ui: to interact with users
* Parser: to make sense of user inputs
* Command and *Command: to extract out commands logic
Automate project builds using Gradle and allow Gradle to run unit test.
nweiyue and others added 30 commits September 14, 2020 08:00
Deadline and Event extends Task class that does not have a LocalDateTime
attribute.

This causes excessive code duplication in checkIfSameDate() in the
RetrieveCommand class.

Let's,
* create a new abstract class called TimedTask that extends Task and
contain a LocalDateTime attirbute
* extend Deadline and Event class from TimedTask
* update checkIfSameDate() in RetrieveCommand class

Using polymorphism reduces code duplication and allow the program
to be easily expandable.
Adding of different type of Task is done seperately, resulting in
code duplication.

Unifying the adding of Task improves the code quality.

Let's,
* create a new AddTaskCommand to replace AddTodoCommand,
AddDeadlineCommand and AddEventCommand
* update the parser method to return only AddTaskCommand
* update test methods
Display a list of commands that Duke can understand.
ParseAddTask does not take into account if there is
missing description or date/time.

ParseAddTask returns error message asking to input
date/time if either description/dateTime is missing.

Let's,
* Update the error message to a more general one by
asking user to input both description and date/time if
either one is missing by adding InvalidTaskContentException
* Remove NoTaskDateTimeException
* Add NoTaskDate for invalid RetrieveCommand
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.

None yet

3 participants