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

[Bryan Lim Jing Xiang] iP #484

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

Conversation

bryanljx
Copy link

@bryanljx bryanljx commented Aug 27, 2022

Duke

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

Duke 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 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) {
        new Duke("data/saveFile.txt").run();
    }
}

Future improvements

Work in progress:

  • Improve error handling (Handle more exceptions)
  • Improve test coverage
  • Parse more date formats
  • Improve look and feel!

damithc and others added 30 commits July 31, 2022 17:20
@bryanljx bryanljx changed the title [Bryan Lim Jing Xiang] ip [Bryan Lim Jing Xiang] iP Aug 27, 2022
Copy link

@zzthian zzthian 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 to comply with the Java Coding standard. Great use of access modifiers and naming was very clear. Great job! 😀

*/
public abstract class Task {
private final String taskItem;
private boolean isMarked;
Copy link

Choose a reason for hiding this comment

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

Good naming of boolean variables, makes it easier to follow the code 👍

* @return DeadlineDateTime object that stores the Date and Time
* @throws DukeException If the storedDateTime cannot be parsed
*/
public static DeadlineDateTime parseDateFromStorage(String storedDateTime) throws DukeException {
Copy link

Choose a reason for hiding this comment

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

Great naming of methods, clear usage of verbs 😄

public static String formatLinesIntoParagraph(String... lines) {
String res = "";
for (String line : lines) {
res += formatLine(line);

Choose a reason for hiding this comment

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

Since you're concatenating Strings here, maybe you could consider using the StringBuilder object to optimise your code?

Copy link

@czhongwei czhongwei left a comment

Choose a reason for hiding this comment

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

Good work! I couldn't really find any coding standard violations

Copy link

@MinHeinA MinHeinA left a comment

Choose a reason for hiding this comment

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

Could add more unit test for more of the classes.

The packages are done neatly with the related classes placed in the same folder (package). Follows good OO practices, good naming of variables and well code is well documented.

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