Skip to content

[CS2113-F13-1] Taste of Mom's#49

Open
Aung-Phone-Naing wants to merge 463 commits into
nus-cs2113-AY2223S2:masterfrom
AY2223S2-CS2113-F13-1:master
Open

[CS2113-F13-1] Taste of Mom's#49
Aung-Phone-Naing wants to merge 463 commits into
nus-cs2113-AY2223S2:masterfrom
AY2223S2-CS2113-F13-1:master

Conversation

@Aung-Phone-Naing

Copy link
Copy Markdown

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.

Comment thread docs/DeveloperGuide.md
**Main components of the architecture**

![image](./PlantUML/MainArchitecture.png)

Copy link
Copy Markdown

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.

Comment thread docs/DeveloperGuide.md
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)

Copy link
Copy Markdown

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.

Comment thread docs/DeveloperGuide.md
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)

Copy link
Copy Markdown

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.

Comment thread docs/DeveloperGuide.md

> The following sequence diagram shows how the help feature works:
![Sequence Diagram for Help](./PlantUML/Help.png)

Copy link
Copy Markdown

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.

@Jeraldchen Jeraldchen left a comment

Copy link
Copy Markdown

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.

@Brennanzuz Brennanzuz left a comment

Copy link
Copy Markdown

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.

Copy link
Copy Markdown

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

Copy link
Copy Markdown

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.

Comment thread docs/PlantUML/Help.png

Copy link
Copy Markdown

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.

Copy link
Copy Markdown

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.

@KedrianLoh KedrianLoh left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Well done overall!

Copy link
Copy Markdown

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.

Comment thread docs/PlantUML/Help.png

Copy link
Copy Markdown

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":

Copy link
Copy Markdown

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){

Copy link
Copy Markdown

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 :)

Comment on lines +84 to +85


Copy link
Copy Markdown

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<>();

Copy link
Copy Markdown

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);
}
}

Copy link
Copy Markdown

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;
}

Copy link
Copy Markdown

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)){

Copy link
Copy Markdown

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!

liuziyang020319 and others added 30 commits April 10, 2023 15:39
grammar check for recipelist
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.

8 participants