-
Notifications
You must be signed in to change notification settings - Fork 429
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
[arshinsikka] iP #469
base: master
Are you sure you want to change the base?
[arshinsikka] iP #469
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.
β¦ands using custom exceptions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, I found the code style in this repository easy to read and
follows the convention imposed at.
Though I would like some of the variables could be a little more
descriptive for ease of review. Good job and keep it up!
src/main/java/Storage.java
Outdated
@@ -0,0 +1,72 @@ | |||
import java.io.*; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wildcard imports are not allowed, explicitly declare the classes that you want to use.
src/main/java/Deadline.java
Outdated
@@ -0,0 +1,13 @@ | |||
public class Deadline extends Task { | |||
protected String by; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small nit, perhaps a more descriptive string name?
src/main/java/Event.java
Outdated
@@ -0,0 +1,15 @@ | |||
public class Event extends Task { | |||
protected String from; | |||
protected String to; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small nit, perhaps a more descriptive name for the start and end timings for the Event
class?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Just a few nits to fix.
switch (taskType) { | ||
case "T": |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should the case be un-indented?
public void showWelcome() { | ||
System.out.println("____________________________________________________________"); | ||
System.out.println("Hello! I'm Shin"); | ||
System.out.println("What can I do for you?"); | ||
System.out.println("____________________________________________________________"); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should descriptions added before this method?
/** | ||
* Represents a task with a deadline. | ||
*/ | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps you need to leave no line break between the description and the method section?
public LocalDate getFrom() { // β Add this getter | ||
return from; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the way you explain the reason you make this change in your commit.
Several methods in Shin.java and related classes exceed reasonable lengths and violate SLAP. Long methods decrease readability and make the code harder to maintain. To improve code quality, let's: * Extract smaller helper methods from long methods such as getResponse() and run() in Shin.java. * Reduce deep nesting in conditionals for better readability. * Ensure methods adhere to Single Level of Abstraction (SLAP) principles. These changes make the code more modular and easier to understand without altering functionality.
Several methods in Shin.java and related classes exceed reasonable lengths and violate SLAP. Long methods decrease readability and make the code harder to maintain. To improve code quality, let's: * Extract smaller helper methods from long methods such as getResponse() and run() in Shin.java. * Reduce deep nesting in conditionals for better readability. * Ensure methods adhere to Single Level of Abstraction (SLAP) principles. These changes make the code more modular and easier to understand without altering functionality.
Add a structured User Guide in docs/README.md. This guide includes: * Detailed explanations for all commands. * Installation steps and how to run Shin. * Frequently Asked Questions (FAQ) section. * A preview image (Ui.png) showcasing the chatbot interface. GitHub Pages is enabled for hosting the User Guide, ensuring users can easily access it.
The previous README.md had an unstructured Features section, long descriptions, and lacked readability in the usage commands. To improve user experience, let's: * Reformat the Features section for better clarity. * Use tables to display usage commands in an easy-to-read manner. * Shorten explanations while retaining necessary details. * Add a structured FAQ section. * Ensure proper Markdown formatting for consistency. These changes make the README more structured, professional, and user-friendly while improving readability for new users.
Shortened long methods and improved readability by extracting helper methods. Enhances maintainability and clarity without altering functionality.
Refactored getResponse() and run() methods to follow SLAP principles. Extracted helper methods to reduce deep nesting and improve readability.
Fix various Java coding standard issues across the project. - Enforce proper naming conventions (camelCase, PascalCase, SCREAMING_SNAKE_CASE). - Use K&R style brackets and add spaces around operators. - Replace wildcard imports with explicit imports. - Add missing Javadoc comments for public methods. These changes improve code readability and maintainability.
The table-based approach caused formatting issues on GitHub Pages. Replaced it with a text-based format using headings and examples. This ensures the commands are displayed clearly and consistently for users.
π ShinBot: A Smart Task Manager
ShinBot is a smart chatbot designed to help users manage tasks efficiently. It is:
πΉ Features
π How to Use
π» Sample Code
public class Main {
public static void main(String[] args) {
System.out.println("Welcome to ShinBot!");
}
}
β To-Do List
Implement Task Management
Add Deadline Support
Implement Notifications (Upcoming Feature!)
GUI Support (Planned Update)