[Xirnic] iP#817
Open
Xirnic wants to merge 56 commits into
Open
Conversation
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.
ReadSaveData is a very long method, with arrowheading. The code is prone to errors, and is bad code quality. Extracting each task type's process allows for better readability and future-proofing. Although the original code works, it will be troublesome if more task types were added in the future.
The code does not have any assertions Extra arguments may be checked for in the code, but lack of arguments is not checked as thoroughly Adding assertions can help verify if the checks in the code are sufficient Assertions are such that any future changes to the code will flag an error instead of simply creating a nameless task
Add assertions for task instantiation
Merging to update branches
There is no way to change a task's due date after adding it It is troublesome to delete a task and add a new one every time its deadline changes Adding this new snooze feature will allow for editing of the tasks' deadlines Snoozing is one of the most common changes to a task's deadline.
The GUI is the classic white background with black words The light background makes Kjaro's icon less visible Changing the theme to a dark theme for better clarity and aesthetics A dark colour fits both kjaro's and the user's current icon, with what the focus should be on for both.
Snooze currently only supports specified days Adding a default value for the snoozing allows the code to manage for what was once non-optional arguments Making the snooze function have a basic value of 1 day makes one of the more common uses of snooze to be simpler and faster
Merge pull request #3 from Xirnic/master
Task classes have reused datetimeformatters, as well as bulky if-else statements for toString methods Extracting reusuable datetimeformatters, using ternary operators Makes code more readable
Ui image not recognised due to incorrect naming style Changing the name to Ui.png to fix detection issues To better follow naming conventions
The javadoc in the task class do not follow a consistent style Rewriting the javadoc for more consistency and standardization across the package. This will achieve better readability, and to make the code easier to understand.
Javadoc style for the class in the Storage package doesn't match with the rest, along with containing extraneous information. Rewriting and trimming the javadoc in the storage class. Improves consistency, and readability.
Some methods are missing documentation. Adding documentation for all private methods as well as rewriting the javadoc for the main parseInput function for consistency. The private methods are abstracted from the parseInput method, adding documentation will allow for better readability of the entire class.
Current javadoc does not match other classes, as well as a lack of documentation for the UI class. Writing javadoc for the UI class, and rewriting for Kjaro. Helps with readability, and will make code more future-proof.
Ui image not recognised due to incorrect naming. Changing the name to Ui to fix detection issues. To follow naming convention for proper file detection.
The same pattern is used for multiple methods, and is defined at the start of each. Declaring a constant field with the pattern in the class. Reduces code repetition.
Snoozeable was left out mistakenly during the rewriting of Javadoc Writing the javadoc for the interface itself better explains its use. For better code readability
The method names refer to printing messages as per the old ui. Adjusting the method names will allow it to line up with its updated functionality. Enhancing code readability, and making methods clearer.
There is no javadoc for the methods, as they were previously straightforward. Adding the javadoc, detailing how the methods convert 1-indexing to 0-indexing better details the intended use of these methods. Reduces confusion in the future if 0-indexing is expected, instead of the 1-indexing that Kjaro uses.
Code contains random black lines, and a few files don't end in a newline. Making blank lines consistent, and adding missing newlines for better consistency. To better align with coding standards.
Save only executes when the user types the save function. Adding the save functionality to every data-modifying action will result in more frequent saves. To prevent the loss of data if the app were accidentally closed without saving.
The toString methods of Event and Deadline do not have line breaks. Placing appropriate line breaks makes the expressions readable. To make each component of the final string be apparent, and identifiable at a glance.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Kjaro
“Your mind is for having ideas, not holding them.” – David Allen (source)
Kjaro frees your mind of having to remember things you need to do. It's,
text-based
easy to learn
FASTSUPER FAST to useAll you need to do is,
download it from here.
double-click it.
add your tasks.
let it manage your tasks for you 😃✨
And it is FREE!
Features:
Managing Tasks
Managing deadlines (coming soon!)
Savefile corruption failsafe (coming soon!)
If you are a Java programmer, you can use it to practice Java too. Here's the main method: