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

[Zxun2] iP #15

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

[Zxun2] iP #15

wants to merge 78 commits into from

Conversation

Zxun2
Copy link

@Zxun2 Zxun2 commented Jan 18, 2023

DukePro

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

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

  • text-based
  • easy to learn
  • 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 (coming soon)
  • Reminders (coming soon)

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

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

Zxun2 and others added 30 commits February 4, 2023 23:51
There are several methods throughout the codebase with
internal invariants that were assumed but not checked.

Adding assertions verifies the assumptions made about the
program state so that the runtime can verify them.

As a step towards ensuring code correctness in production,
let's add assertions into the codebase where necessary.
There are several code quality violations throughout
the codebase. In some cases, there are code
duplication.

Improving the code quality allows for greater
understandability and readability.

As a step towards increased readability, let's add
fix the obvious violations and extract duplicate
code blocks into separate methods.
# Conflicts:
#	src/main/java/duke/storage/Storage.java
# Conflicts:
#	src/main/java/duke/entities/TaskList.java
#	src/main/java/duke/storage/Storage.java
A manual process is required to undo a command that
was accidentally entered in. For example, if the
user adds a task, and decides he wants to undo it,
he/she would need to manually enter a delete
command and specifies the task to be deleted. The
same can be said for mark and unmark commands.

With undo, this entire process can be reduced to a
single keyword, "undo". The undo operation is enabled
by keeping track of the last 10 changes. When the
undo command is entered, the most recent changed
state is popped and replaces the current state.

With these changes, it allows for version control to
take place as well. User can now checkout to a
specified version number and save accordingly.

Let's implement the undo function to improve the
user experience and enhance the quality of the application.
Add C-Undo and Version Control
- Update error message for invalid format
- Improve error handling for list command
- Update header comments
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