Skip to content

[CS2113-F15-1] Player2113#55

Open
songyuew wants to merge 538 commits into
nus-cs2113-AY2324S2:masterfrom
AY2324S2-CS2113-F15-1:master
Open

[CS2113-F15-1] Player2113#55
songyuew wants to merge 538 commits into
nus-cs2113-AY2324S2:masterfrom
AY2324S2-CS2113-F15-1:master

Conversation

@songyuew

@songyuew songyuew commented Mar 8, 2024

Copy link
Copy Markdown

Player2113 is a CLI based software to help CS2113 student revise concepts encountered in the course.

JeffinsonDarmawan added a commit to JeffinsonDarmawan/tp that referenced this pull request Mar 22, 2024
yeozongyao pushed a commit to yeozongyao/tp that referenced this pull request Apr 1, 2024
Ui -> Parser : handleAnswerInputs(answer: String)
activate Parser

ref over Parser : get correct answer

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 think there's a missing sequence diagram here? maybe you can include the sequence diagram (esp for ref), such as the get correct answer?


box Results #EB9999
participant "topicResults:Results" as Results #FE2727
participant "allResults:ResultsList" as ResultsList #FE2727

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 think you need to hide the class at the bottom of the diagram?

deactivate ResultsList

Ui -->[

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 may need to deactivate Ui activation in the end after -->[ ?

Ui -->[

destroy Results
destroy Parser

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

maybe you should also destroy allResults?

Comment thread docs/DeveloperGuide.md Outdated
and proceeds to start a game with their chosen topic.

The following shows the class diagram for `topicList`:
![TopicList class diagram](./team/img/TopicList_Topic_class_diagram.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.

class may need to add + and - to show public and private?

Comment thread docs/DeveloperGuide.md Outdated
The solution feature is facilitated by `Parser#processSolutionCommand`, which is called by `Parser#parseCommand`

> **OVERVIEW:**
> ![Solution sequence diagram](./team/img/Solution.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.

in alt, maybe need to add [else] sign?

Comment thread docs/DeveloperGuide.md Outdated
The solution feature is facilitated by `Parser#processSolutionCommand`, which is called by `Parser#parseCommand`

> **OVERVIEW:**
> ![Solution sequence diagram](./team/img/Solution.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.

after calling the methods, i think you may need to add return arrow, even if void?

Comment thread docs/DeveloperGuide.md Outdated
The solution feature is facilitated by `Parser#processSolutionCommand`, which is called by `Parser#parseCommand`

> **OVERVIEW:**
> ![Solution sequence diagram](./team/img/Solution.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.

some method invocation got no name, maybe need to add the method name on it, instead of putting it on the return arrow?

Comment thread docs/DeveloperGuide.md Outdated

Similarly, the following sequence diagram shows how the
`AnswerTracker` stores all the user answer inputs:
![AnswerTracker sequence diagram](https://via.placeholder.com/100.png?text=Photo)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

maybe add the diagram here? its empty?

Comment thread docs/DeveloperGuide.md

## Glossary

* *glossary item* - Definition

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

maybe also update the template here?

Comment thread docs/DeveloperGuide.md Outdated
and proceeds to start a game with their chosen topic.

The following shows the class diagram for `topicList`:
![TopicList class diagram](./team/img/TopicList_Topic_class_diagram.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.

image
Shouldn't there be no c?

Comment thread docs/DeveloperGuide.md Outdated
and proceeds to start a game with their chosen topic.

The following shows the class diagram for `topicList`:
![TopicList class diagram](./team/img/TopicList_Topic_class_diagram.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.

image
Shouldn't there be a + or - to indicate whether the method is private, public or protected?

Comment thread docs/DeveloperGuide.md Outdated
and proceeds to start a game with their chosen topic.

The following shows the class diagram for `topicList`:
![TopicList class diagram](./team/img/TopicList_Topic_class_diagram.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.

image
Shouldn't the colons be standardized?

Comment thread docs/DeveloperGuide.md Outdated
The solution feature is facilitated by `Parser#processSolutionCommand`, which is called by `Parser#parseCommand`

> **OVERVIEW:**
> ![Solution sequence diagram](./team/img/Solution.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.

image
Perhaps you can include the else condition in the second box?

Comment thread docs/DeveloperGuide.md Outdated
Comment on lines +23 to +30
![ResultsList sequence diagram](./team/img/Results.png)
> **Note:** The lifeline for Parser and Results should end
> at the destroy marker (X) but due to a limitation of PlantUML,
> the lifeline reaches the end of the diagram.

Similarly, the following sequence diagram shows how the
`AnswerTracker` stores all the user answer inputs:
![AnswerTracker sequence diagram](https://via.placeholder.com/100.png?text=Photo)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

image
Shouldn't the photo appear?

Comment thread docs/DeveloperGuide.md Outdated

## Design & implementation

{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Shouldn't this line be deleted?

Comment thread docs/DeveloperGuide.md
Step 1. The user launches the application for the first time,
and proceeds to start a game with their chosen topic.

The following sequence diagram shows how the `Results` for

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hi, the method calling solid line arrow for "new Results()" seems to not be pointing to the start of the activation bar.

Comment thread docs/DeveloperGuide.md Outdated

Similarly, the following sequence diagram shows how the
`AnswerTracker` stores all the user answer inputs:
![AnswerTracker sequence diagram](https://via.placeholder.com/100.png?text=Photo)

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 think the photo is not loaded correctly on the DG site

Comment thread docs/DeveloperGuide.md Outdated

Step 3. The user now wants to view their results by executing
the `results` command.
![Results command sequence diagram](https://via.placeholder.com/100.png?text=Photo)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Photo not loaded for this as well

Comment thread docs/DeveloperGuide.md Outdated
and proceeds to start a game with their chosen topic.

The following shows the class diagram for `topicList`:
![TopicList class diagram](./team/img/TopicList_Topic_class_diagram.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.

Class diagram for topicList should not have the C icon present, as I don't think it follows the standards stated.

Comment thread docs/DeveloperGuide.md Outdated
and proceeds to start a game with their chosen topic.

The following shows the class diagram for `topicList`:
![TopicList class diagram](./team/img/TopicList_Topic_class_diagram.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.

Missing of indication of private and public methods/ variables with "+/-" etc

@ZMinghuiZ ZMinghuiZ 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.

Generally good job! The notations of the diagrams seems to be compliant with the convention covered in the course. Maybe could add more diagram to enhance the developer guide understanding?

Comment thread docs/DeveloperGuide.md Outdated

The following sequence diagram shows how the `Results` for
one question set is added to the `ResultsList`:
![ResultsList sequence diagram](./team/img/Results.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.

image I like the use of ref block to make the sequence diagram more concise and readable. Good use of different color to differentiate Logic and Result👍

Comment thread docs/DeveloperGuide.md
The following sequence diagram shows how the `Results` for
one question set is added to the `ResultsList`:
![ResultsList sequence diagram](./team/img/Results.png)
> **Note:** The lifeline for Parser and Results should end

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

image Perhaps add an object to indicate who invoked `printChosenTopic` method would make the diagram more clear.

Comment thread docs/DeveloperGuide.md
The following sequence diagram shows how the `Results` for
one question set is added to the `ResultsList`:
![ResultsList sequence diagram](./team/img/Results.png)
> **Note:** The lifeline for Parser and Results should end

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Perhaps add the explanation of the ref block would make it more comprehensible?

Comment thread docs/DeveloperGuide.md
Step 1. The user launches the application for the first time,
and proceeds to start a game with their chosen topic.

The following shows the class diagram for `topicList`:

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Perhaps add a line separator here to make the class diagram occupy a dedicated space would allow the format to be more readable.

Comment thread docs/DeveloperGuide.md
The explain feature either prints the explanation to 1 question or all questions in 1 topic.

The explain feature is facilitated by `Parser#processExplanationCommand`, which is called by `Parser#parseCommand`

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Perhaps add some diagram here would allow better understanding of developers?

Comment thread docs/DeveloperGuide.md Outdated
The solution feature is facilitated by `Parser#processSolutionCommand`, which is called by `Parser#parseCommand`

> **OVERVIEW:**
> ![Solution sequence diagram](./team/img/Solution.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 sequence diagram has many parts and may be slightly hard to understand initially, it would be good if you could break it down into parts when explaining, means showing just small sections of the sequence diagram

Comment thread docs/DeveloperGuide.md
Step 2a: `Parser#processExplainCommand` first checks the number of parameters in the user command
by calling `Parser#checkIfTwoParameters`.
The, further processing of parameters is done by calling `Parser#getTopicOrQuestionNum`.
This is facilitated by calling `QuestionsListByTopic#getQuestionSet` to get all questions in the specified topic.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

maybe you could swap 2b and 2a since 2a is more related to step 3

Comment thread docs/DeveloperGuide.md Outdated

### Libraries

1. Display formatted tables in the CLI - [ASCII TABLES](https://bethecoder.com/applications/products/asciiTable.action)

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 that you included your references :)

Comment thread docs/DeveloperGuide.md Outdated
|--------|----------|---------------|------------------|
|v1.0|new user|see usage instructions|refer to them when I forget how to use the application|
|v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire list|
| Version | As a ... | I want to ... | So that I can ... |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

maybe you could categorise the user stories by priorities and include their priority into the userstories table

Comment thread docs/DeveloperGuide.md Outdated

2. Topic selection menu and testing mode progress bar - [ProgressBar](https://github.com/ctongfei/progressbar)

### References

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Maybe remove references if there is nothing to add here

Comment thread docs/DeveloperGuide.md
### References

## Instructions for manual testing

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Remember to remove this default text

Comment thread docs/DeveloperGuide.md Outdated
The solution feature is facilitated by `Parser#processSolutionCommand`, which is called by `Parser#parseCommand`

> **OVERVIEW:**
> ![Solution sequence diagram](./team/img/Solution.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.

image

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Consider removing getters and setters as their functions are quite obvious

Comment thread docs/DeveloperGuide.md Outdated
and proceeds to start a game with their chosen topic.

The following shows the class diagram for `topicList`:
![TopicList class diagram](./team/img/TopicList_Topic_class_diagram.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.

image
Consider reformatting such that the text is above the diagram for clarity

@vibes-863 vibes-863 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 nice work!

Comment thread docs/DeveloperGuide.md Outdated

Similarly, the following sequence diagram shows how the
`AnswerTracker` stores all the user answer inputs:
![AnswerTracker sequence diagram](./team/img/AnswerTracker.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.

image

I like that you have tried to differentiate between Logic and Answers using the different colors, but I think that it makes it harder to read the diagram as some content is between the colored boxes.

Maybe consider just coloring the class instance boxes and adding a legend on the side.

Comment thread docs/DeveloperGuide.md Outdated

The following sequence diagram shows how the `Results` for
one question set is added to the `ResultsList`:
![ResultsList sequence diagram](./team/img/Results.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.

image

Good use of ref block to help improve readability!

Comment thread docs/DeveloperGuide.md Outdated

The following sequence diagram shows how the `Results` for
one question set is added to the `ResultsList`:
![ResultsList sequence diagram](./team/img/Results.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.

image

Wouldn't it be better to use opt block instead of alt block as there is only one path?

Comment thread docs/DeveloperGuide.md Outdated
The solution feature is facilitated by `Parser#processSolutionCommand`, which is called by `Parser#parseCommand`

> **OVERVIEW:**
> ![Solution sequence diagram](./team/img/Solution.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.

image

Have you maybe forgot to add [else] int the alt block?

@nichyjt nichyjt 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.

Hi team,

Overall good job at making the DG!

  1. Please take note of the syntax issues with the diagrams and
  2. There are some sections of the DG that are incomplete. Please finish them.
  3. Most of the diagrams are OK in complexity, but consider scaling down some of the sequence diagrams.
    Remember: guiding principle from the website...

Keep diagrams simple. The aim is to make diagrams comprehensible, not necessarily comprehensive.

Please do refer to AB3 DG for inspiration and tips on how to better structure and format your content.

Comment thread docs/DeveloperGuide.md
Comment on lines +24 to +26
> **Note:** The lifeline for Parser and Results should end
> at the destroy marker (X) but due to a limitation of PlantUML,
> the lifeline reaches the end of the diagram.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

It should be possible to remove the bubbles at the bottom with some tinkering of PlantUML if I am not wrong. Alternatively, you may also crop the image.

Comment thread docs/DeveloperGuide.md Outdated

The following sequence diagram shows how the `Results` for
one question set is added to the `ResultsList`:
![ResultsList sequence diagram](./team/img/Results.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.

Activation bar might not have been terminated correctly. Missing the border line at the bottom!

image

Comment thread docs/DeveloperGuide.md Outdated

Similarly, the following sequence diagram shows how the
`AnswerTracker` stores all the user answer inputs:
![AnswerTracker sequence diagram](./team/img/AnswerTracker.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.

Similarly, the activation bar here was not terminated correctly

image

Comment thread docs/DeveloperGuide.md Outdated

The following sequence diagram shows how the `Results` for
one question set is added to the `ResultsList`:
![ResultsList sequence diagram](./team/img/Results.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.

See if you can get reference frames to be opaque.

  1. For readability
  2. To adhere to textbook

Recall the textbook's notation on reference frames. This is a repeated issue for all your sequence diagrams

image

Comment thread docs/DeveloperGuide.md Outdated

Step 3. The user now wants to view their results by executing
the `results` command.
![Results command sequence diagram](./team/img/ViewResults.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.

A few issues:

  1. Unterminated activation bar for Parser
  2. Ref blocks not opaque
  3. The complexity is on the slightly higher side for this sequence diagram. You might want to consider refactoring

Comment thread docs/DeveloperGuide.md Outdated
and proceeds to start a game with their chosen topic.

The following shows the class diagram for `topicList`:
![TopicList class diagram](./team/img/TopicList_Topic_class_diagram.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.

Most of your peers have identified the bigger issues of the diagram, like the class circle and the access modifiers.

Comment thread docs/DeveloperGuide.md

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Consider adding in a table of contents, similar to the reference Address Book DG

Comment thread docs/DeveloperGuide.md Outdated

### References

## Instructions for manual testing

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Please include details about manual testing here

Comment thread docs/DeveloperGuide.md Outdated
> **OVERVIEW:**
> ![Solution sequence diagram](./team/img/Solution.png)

> > **Note:** The lifeline for Parser and Results should end

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Might be intentional, but the double quote makes the rendering seem buggy (space between 'overview' and the note.

image

NGXZS and others added 30 commits April 15, 2024 22:56
Fix formatting for PPP
Fix formatting errors UG, DG
Remove unnecessary code
# Conflicts:
#	src/main/java/seedu/duke/Parser.java
Fix ^D bug in sayHi()
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.