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

[euchangxian] iP #520

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

Conversation

euchangxian
Copy link

@euchangxian euchangxian commented Sep 2, 2023

🚀 Changoose 🚀

Best task manager ever - Mom
Using Changoose changed my life for the better - Girlfriend (real)

🎉 This is the latest release of Changoose v0.1! 🎉

  • Manage your TODOS!
  • Manage your DEADLINES!
  • Manage your EVENTS!

🤩 What's New? 🤩

  1. All-new name! No more old boring Duke! Say hi to Changoose!
  2. Cutting-edge Task Manager technology!
  3. State-of-the-art intelligence! Changoose can understand (almost) anything you tell it!

🦾 Performance Enhancements 🦾

  • Upgraded Changoose's intelligence.
    • Now you can add tasks by typing deadline feed goose \by today and Changoose will understand you!
  • Fed the 🐹hamsters🐹. Now Changoose is faster than ever!
  • Completes your tasks for you (Coming soon)

TODO

/**
* Completes the given task.
* 
* @param task The task to complete.
*/
public static void completeTask(Task task) {
  // TODO blank because I don't know what to put here.
  return;
}

Here is the link to the code for Changoose!

Changoose

Maxwell Cat

damithc and others added 30 commits August 9, 2023 02:16
This is done by adding an overloaded echo() method to maintain the
functionality of existing code.
For improved readablity
Update startParse() to first split by spaces to handle commands with
multiple words, like mark x or unmark x, where x is the index of the
command.
This is to prevent Duke class from getting too bloated.
This is to prevent bloating of Duke class
Copy link

@LicongHuang LicongHuang left a comment

Choose a reason for hiding this comment

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

Overall very well written, follows the style guide very well, lgtm, can push to production

*
* @return {@code true} if the file was corrupted, otherwise {@code false}.
*/
public boolean wasFileCorrupted() {

Choose a reason for hiding this comment

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

Method name should start with a verb, i.e. checkFileCorrupted()

return Optional.of(task);
}

public List<Task> searchTasks(String keyword) {

Choose a reason for hiding this comment

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

Good use of monads

Choose a reason for hiding this comment

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

Second this

@@ -0,0 +1,9 @@
todo master rizz

Choose a reason for hiding this comment

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

I also wish

This is in preparation to integrate JavaFX with Duke, preventing the
Duke class from becoming too bloated.
Refactor existing classes, mainly changing the return type of UiService
to return a String which is displayed in the GUI window.
Copy link

@PearlynnT PearlynnT left a comment

Choose a reason for hiding this comment

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

LGTM Great job! 😄

throw new InvalidCommandInputException("Provide a keyword for find command! :<");
}
return new FindTaskCommand(dukeBot, uiService, args.get(0));
case "todo":

Choose a reason for hiding this comment

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

Suggested change
case "todo":
case "todo":
// Fallthrough

The explicit // Fallthrough comment should be included whenever there is a case statement without a break statement.

}
return new FindTaskCommand(dukeBot, uiService, args.get(0));
case "todo":
case "deadline":

Choose a reason for hiding this comment

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

Suggested change
case "deadline":
case "deadline":
// Fallthrough

The explicit // Fallthrough comment should be included whenever there is a case statement without a break statement.

return Optional.of(task);
}

public List<Task> searchTasks(String keyword) {

Choose a reason for hiding this comment

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

Second this


try (FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis)) {
@SuppressWarnings("unchecked")

Choose a reason for hiding this comment

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

Appropriate use

TaskFactory is responsible for the creation of new Tasks, and in no
cases does it return a null task.
Since there should only be one way of adding a task to TaskList, by
calling TaskList::add, there should be no null tasks added to the
TaskList. Neither should there by any null task retrieved by any
exposed methods.
This is to better reflect immutability.
Add java_ci.yml file to ensure code quality
Duke can now parse dates like "monday", "tuesday",..., etc
and understands it as the next Monday, Tuesday etc.
If the start date supplied is after the end date, an exception is
thrown.
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