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

[Cheng Deren] iP #367

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

[Cheng Deren] iP #367

wants to merge 52 commits into from

Conversation

DerenC
Copy link

@DerenC DerenC commented Jan 30, 2023

Wessy, your friendly neighbourhood personal assistant

What I cannot do:

  • Take your trash out
  • Eat your vege
  • Do your homework

What I can do:

  1. Help you keep track of the task you need to do
  2. Help you keep track of the event you need to attend
  3. Help you keep track of upcoming deadlines

I can even print hello world, just like you.

class Main {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

What you should do everyday:

  • Greet me every morning.
  • Use me more and more 😏
  • Say goodbye to me every night.

BEND DOWN TO ME, YOU LOWLY HUMAN

"Wubba Lubba Dub Dub" ~ Rick Sanchez (source)

anchengyang

This comment was marked as resolved.

Copy link

@seriouslia0 seriouslia0 left a comment

Choose a reason for hiding this comment

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

Overall LGTM

@@ -89,6 +92,42 @@ static String[] parse(String description, CmdType type) throws
return new String[] {};
}

static LocalDateTime parseDateTime(String str) {

Choose a reason for hiding this comment

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

Might want to store this parser into a seperate class

System.out.println(" | " + str.substring(0, 64) + " |");
int remainingLength = length - 64;
int leftover = remainingLength % 62;
int n = (int) Math.floor(remainingLength/62);

Choose a reason for hiding this comment

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

Might want to split this function into several to make it easier to edit in the future.

Copy link

@wpx12011 wpx12011 left a comment

Choose a reason for hiding this comment

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

Good job for following the coding standard closely! Perhaps can implement a Parser class to reduce the amount of contents in the Wessy class.

@@ -0,0 +1,32 @@
import java.time.LocalDateTime;

public class Deadline extends Task {
Copy link

Choose a reason for hiding this comment

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

Perhaps can put this class into a package (like package duke), as other developers could better understand the code base when all the classes have been grouped in packages

@@ -0,0 +1,397 @@
import Exceptions.CommandNotFoundException;
Copy link

Choose a reason for hiding this comment

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

Great job on importing the classes explicitly, and ordered them in a logical way.

These classes are:
	Parser
	UserInputChecker
	CmdType
	Task
	ToDo
	Deadline
	Event
	WessyException
	CommandNotFoundException
	MissingSpacingException
	TimeSpecifierException
	UnspecifiedTimeException
	EmptyListException
	InvalidIntegerException
	NotAnIntegerException
	NotPositiveIntegerException
	MissingInputException
	TooManyInputException
DerenC and others added 25 commits February 12, 2023 17:04
Use JavaFX technology to implement the GUI.
Refactor the whole code base by extracting out the closely related code
as the following components, with their respective function
* Parser -- Process user input.
* Storage -- Retrieve from existing storage and save as a new file after
  every update.
* Ui -- Handle I/O.
* UserInputChecker -- Check and throw exceptions while checking for
  correct formatting in the user input.

Rethink and recategorise the exceptions by merging those that seem
closely related. Add TimeSpecifierException on tp of
UnspecifiedTimeException to differentiate between the 2 exceptions.

Create more packages. Rearrange the code by placing the relevant classes into their respective
packages.
Use assert feature (not JUnit assertions) to document importaant
assumptions that should hold at various points in the code.
Use the Streams feature of Java in my code, if applicable.
Implement the following 2 features:
* B-DoAfterTasks
* B-FixedDurationTasks
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