-
Notifications
You must be signed in to change notification settings - Fork 248
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
[CS2113-F13-1] Taste of Mom's #49
base: master
Are you sure you want to change the base?
[CS2113-F13-1] Taste of Mom's #49
Conversation
**Main components of the architecture** | ||
|
||
![image](./PlantUML/MainArchitecture.png) | ||
|
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.
Architecture diagram is clear and simple to understand.
The **API** of this component is specified in [`Parser.java`](https://github.com/AY2223S2-CS2113-F13-1/tp/blob/master/src/main/java/seedu/duke/parser/Parser.java) | ||
|
||
![image](./PlantUML/ParserComponent.png) | ||
|
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.
Remove the C and I symbols beside the Class and Interface boxes as it is not the module convention. Replace the private and public access modifiers with - and + symbols instead.
The **API** for this component is specified in [`RecipeList.java`](https://github.com/AY2223S2-CS2113-F13-1/tp/blob/master/src/main/java/seedu/duke/recipe/RecipeList.java) | ||
|
||
![RecipeList Component](./PlantUML/RecipeListComponent.png) | ||
|
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.
Remove the C symbols beside the Class boxes as it is not the module convention. Replace the private and public access modifiers with - and + symbols instead.
|
||
> The following sequence diagram shows how the help feature works: | ||
![Sequence Diagram for Help](./PlantUML/Help.png) | ||
|
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.
The class boxes at the bottom of your diagrams should be removed.
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, DG is clear and well done. There are some common syntax errors in the sequence diagrams that do not adhere to module standards as mentioned in the other comments.
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 many many examples and code snippets to extensively show what the user can input, what is expected, and the reason for the implementation as a bonus. Ample number of diagrams to really illustrate the flow, even with a huge diagram to tie everything together. Besides understandably not adhering to the format for the class diagrams, the developer guide is very comprehensive and helpful.
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 how an example of just one command is given (delete 1
) as it helps to understand the general flow of the program while keeping the diagram simple and readable. This is provided that delete 1
is the most exhaustive example that shows the most classes involved.
@@ -0,0 +1,26 @@ | |||
@startuml | |||
|
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.
A common problem among all groups including mine is to have the little icons. You can add:
hide circle
skinparam classAttributeIconSize 0
to remove them and follow the recommended format.
docs/PlantUML/Help.png
Outdated
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.
Quotation marks around functions can be removed. I also like the mindful deletion of only the :Command object as the other classes will continue to be used in other functions, while the :Command object will no longer be used.
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.
Can the multiplicity of Step be specified? If it can, then it would be good to indicate.
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.
Well done overall!
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.
The dotted line (delete 1) between UI and Duke seems a little ambiguous.
docs/PlantUML/Help.png
Outdated
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.
Since the HELP message shown does not require any further user input, consider changing it to a dotted line. The UI can be shifted to the rightmost portion of the sequence diagram since it is only used after Command.
Modify UG to match actual output
} | ||
CommandType type; | ||
switch (lineSpaced[0]) { | ||
case "list": |
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.
For the switch-case, do change the magic strings in the case to constant variables, like you have done so in your Command.java
.
parsed.add(parsedTagStep[0].trim()); | ||
try { | ||
parsed.add(parsedTagStep[1].trim()); | ||
}catch (Exception e){ |
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'm not sure how the checker did not pick up on this, but there a code-style violation here. Do check your code thoroughly for these issues :)
|
||
|
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.
Do keep the spacing between methods consistent as well! Some have 1 or 2 lines, some have no lines at all.
* @throws IncompleteInputException if full description input is missing the description or due date or both. | ||
*/ | ||
public static ArrayList<String> parseRecipe(String description) throws IncompleteInputException { | ||
ArrayList<String> parsed = new ArrayList<>(); |
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.
You could follow more conventional naming for this variable. To my understanding these are your parsed command parameters, perhaps something a little more descriptive? :)
public void showInvalidStepMessage() { | ||
System.out.println(StringLib.INVALID_STEP); | ||
} | ||
} |
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.
Good job minimising the use of magic strings here! But do consider changing as many magic strings to constants as possible!
public ArrayList<Step> getList() { | ||
return stepList; | ||
} | ||
|
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.
Well done with the method naming conventions!
private static boolean matchString(String input, String regex) { | ||
String matcher = input; | ||
int count = 0; | ||
while (matcher.contains(regex)){ |
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.
There are violations with regards to spacing here as well, do keep a look out for these!
Fix lay out bugs in PPP
grammar check for recipelist
Step List Grammar update
Fixes DG bugs on github pages
UG grammar fixed
Final UG and DG format fixes
PPP finalised for hongyao
Update YatPang's PPP
Final PPP Update
Taste of Mom's helps students manage recipes, optimized for use via a Command Line Interface. This ensures that frequent tasks can be done faster by typing in commands.