nus-cs2103-AY2425S1 / pe-dev-response

0 stars 0 forks source link

DG missing imnportant implementation details #3882

Open nus-pe-bot opened 1 week ago

nus-pe-bot commented 1 week ago

DG missing implementation details of important commands like edit, delete. These features are not trivial and will help developers understand the codebase better. Futhermore, for the current implementations listed like add, archiving. It is not really stated how the commands work (eg which functions are called, sequence diagram to show execution)


[original: nus-cs2103-AY2425S1/pe-interim#3695] [original labels: severity.Medium type.DocumentationBug]

Johnwz123 commented 1 week ago

Team's Response

We are rejecting this as there is already sufficient documentation on the high-level design of each command. The low-level implementation of each command (e.g. which functions are called) were left out to avoid repetitive information (e.g. The add, edit and delete command all follow a similar design, having a AddCommandParser, EditCommandParser and DeleteCommandParser respectively, which returns an AddCommand, EditCommand and DeleteCommand respectively.)

The Architecture section provides a high-level overview of how a command is handled by the app with a sequence diagram.

image.png

The Logic component section details how a command is processed with a sequence diagram using the delete command as an example.

image.png

The Model component section describes how the data is stored and operations on the data are handled (i.e. adding to and removing from the UniquePersonList)

image.png

The Add feature implementation further supplements a description of each attribute of a Patient.

image.png

The Archive feature implementation details how all 4 archive commands (archive, listarchives, loadarchive, deletearchive) are handled. Given that they all follow the same execution flow (i.e. through ModelManager to FileUtil and back), the sequence diagram uses the archive command as an example to avoid repetitive diagrams for all 4 commands.

image.png

Duplicate status (if any):

--