Skip to content

[Timothy Tay] iP#441

Open
tim0tay wants to merge 57 commits into
nus-cs2103-AY2425S2:masterfrom
tim0tay:master
Open

[Timothy Tay] iP#441
tim0tay wants to merge 57 commits into
nus-cs2103-AY2425S2:masterfrom
tim0tay:master

Conversation

@tim0tay

@tim0tay tim0tay commented Feb 3, 2025

Copy link
Copy Markdown

Prophet

1 The Spirit of the Lord God is upon me; because the Lord hath anointed me to preach good tidings unto the meek; he hath sent me to bind up the brokenhearted, to proclaim liberty to the captives, and the opening of the prison to them that are bound; 2 To proclaim the acceptable year of the Lord, and the day of vengeance of our God; to comfort all that mourn - the prophet Isaiah

Maybe this will be able to do that one day! But for now:
Prophet frees your mind of having to remember things you need to do. It's:

  • text-based
  • easy to understand
  • FAST 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:

  • Managing tasks
  • Managing deadlines
  • Managing events
  • Reminders (coming soon)

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

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

damithc and others added 18 commits July 11, 2024 16:52
In build.gradle, the dependencies on distZip and/or distTar causes
the shadowJar task to generate a second JAR file for which the
mainClass.set("seedu.duke.Duke") does not take effect.
Hence, this additional JAR file cannot be run.
For this product, there is no need to generate a second JAR file
to begin with.

Let's remove this dependency from the build.gradle to prevent the
shadowJar task from generating the extra JAR file.

@soonami69 soonami69 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Nice, readable code, with good adherence to code style and quality guidelines 👍

Comment thread src/main/java/AddDeadlineCommand.java Outdated
/**
* The AddDeadlineCommand class represents the command to add a deadline task.
*/
private static final String horizontalLine = "-------------------------------------------" +

@soonami69 soonami69 Feb 4, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I like how you broke this long line so as to not make the line too long!

@Override
public void execute(Ui ui, Storage storage) {
ToDoTask newTask = new ToDoTask(this.taskDescription);
String added = storage.addToList(newTask);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Perhaps a more descriptive name instead of added would be better?

Comment thread src/main/java/Parser.java Outdated
/**
* The Parser class takes in user input and interprets it to perform the necessary actions.
*/
private static final String horizontalLine = "--------------------------------------------------------------------------------\n";

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I think this line may be too long. Consider breaking it into two?

Comment thread src/main/java/Parser.java Outdated
return commands;
case "mark":
try {
String[] mark = str.split("mark ", 2);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Perhaps a more intuitive variable name here? I don't quite understand what mark's purpose is based on its name.

Comment thread src/main/java/Parser.java Outdated
LocalDate to = LocalDate.parse(timeline[1].trim(), DateTimeFormatter.ofPattern("MMM dd yyyy"));
commands.add(new AddEventCommand(
CommandType.EVENT, remainingParts[0].trim(), from, to));
if (isDone) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I like how you named the boolean variables intuitively!

Comment thread src/main/java/Ui.java Outdated
/**
* Prints the farewell message of the chatbot.
*/
public static void bye() {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

I think this should be a verb. Maybe sayGoodbye?

tim0tay and others added 28 commits February 10, 2025 18:21
Some areas of code rely on assumptions.
These assumptions must be checked to prevent errors.

Let's add some assertions in these areas.
Certain methods are long and have layers of nesting.
Others have multiple layers of abstraction, which can be
confusing to read.

Let's:
* SLAP hard
* Make the happy path prominent
* Delete dead code
* Minimise code duplication
* Make code obvious
* Avoid long methods
* Avoid deep nesting
Add assertions where assumptions are made
Fix merge conflict with updated master after PR approval
Improve code quality according to SE-Edu standards
Deadline and event tasks support date-only deadlines,
and do not include specific times of the day.

Schedule viewing hence does not allow for seeing any
particular sequence of events in a day.

Let's:
* include timings for deadline and event tasks
* sort events of the day by the time they are due
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