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
src/main/java/Storage.java
Outdated
| @@ -0,0 +1,72 @@ | |||
| import java.io.*; | |||
There was a problem hiding this comment.
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.
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.
Small nit, perhaps a more descriptive name for the start and end timings for the Event class?
blacksesamezongzi
left a comment
There was a problem hiding this comment.
LGTM. Just a few nits to fix.
| switch (taskType) { | ||
| case "T": |
There was a problem hiding this comment.
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.
Should descriptions added before this method?
| /** | ||
| * Represents a task with a deadline. | ||
| */ | ||
|
|
There was a problem hiding this comment.
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.
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)