florentianayuwono / pe

0 stars 0 forks source link

Hard to type command format to create meeting #8

Open florentianayuwono opened 1 year ago

florentianayuwono commented 1 year ago

image.png

Citing from the module website:

Unnecessarily complicated (or hard-to-type) command formats can be considered a type.FeatureFlaw as it is expected that the input formats will be optimized to get things done fast. Some examples: using very long keywords when shorter ones do, or making keywords case-sensitive when there is no need for it, using hard to type special characters in the format when it is possible to avoid them.

nus-se-bot commented 1 year ago

Team's Response

We made the choice to use delimiters such as ;;; and }}} to ensure that it is unique enough that the user will never have it in their details for Person or Meeting, in that way we can potentially allow the user more freedom in the characters they use for other fields.

Items for the Tester to Verify

:question: Issue response

Team chose [response.NotInScope]

Reason for disagreement: The reasoning given by the team further proves that the team indeed has a flaw in their command format design. The team could have actually reuse the code implemented by AB3. For example,meet n/NAME n/NAME m/MEETING_DESC a/ADDRESS d/DATE will be much convenient both for the user and the team, since they can just reuse and modify the code a little bit.

image.png

In addition, the team also never specifies that they are planning to change the command format in their UG, therefore this does not qualify to be notInScope.


:question: Issue severity

Team chose [severity.Low] Originally [severity.Medium]

Reason for disagreement: Implementing such a unnecessary complex command will for sure make the user mistype a lot. This is also justified in the Luminus quiz:

image.png

And the teaching team could also test out the command, in fact it is very buggy because the way it is implemented:

image.png

and several other similar detections string allow user to wrongly create a meeting when it shouldn't be created, or unable to create a meeting because they are missing one ; or }

For example: consider a user typing meet Alex }}} Bernice, since the team is only detecting by splitting two }}, it will be detected as the first person name is Alex }