Open dedsecrattle opened 2 months ago
This behaviour is the intended behaviour, which is documented in the UG.
However, we do acknowledge such a silent failing behaviour can be improved to provide the user with a message, informing them there is no tag with specified name found.
Team chose [response.NotInScope
]
Reason for disagreement:
The above-mentioned behaviour only specifies that no changes will be done for invalid tags but doesn't specifies whether or not the user will get an error message,
Consider a scenario where the user wants to remove a valid tag e.g example
but he accidentally writes examplle
, as the entered tag is invalid but since the application fails silently without providing any error message to the user, it can cause issues as per the user point of view his / her given command has executed without error as the UG also doesn't specify such silent failure behaviour.
In the context of a contact book application, if a user attempts to remove a tag from a contact's record, but the specified tag does not exist for that contact, and the application executes the operation successfully without reporting an error, it is considered a silent failure bug.
This silent failure behavior can lead to several issues:
Data inconsistency: If the application silently ignores the non-existent tag and proceeds without any error handling, it can lead to data inconsistency. The user might assume that the tag has been removed, while in reality, nothing has changed in the contact's record.
User confusion: Users expect feedback or error messages when they perform an operation that cannot be completed successfully. Without any error or warning, users may be left confused about the state of the application and the data they are working with.
Potential data corruption: In some cases, silent failures can lead to data corruption or unexpected behavior, especially if the application continues to execute subsequent operations based on the assumption that the previous operation was successful.
Trying to remove an invalid tag i.e. tag which is not present for a student using
removetag
executes successfully. in the above example the student at index 1 doesn't have a tagtestTag
however, the command executes successfullyexpected - Error specifying that the tag is not present for that particular person
Command Executed -
removetag 1 /t testTag