Code Monkey home page Code Monkey logo

pe's People

Contributors

souluseless avatar

Watchers

 avatar

pe's Issues

DG: Glossary grammar error

Under the glossary, there is a grammar error or typo where there is a verb (predicated), when a noun (predicate) should be there instead.

image.png

DG: Something returned without a corresponding method called

In page 22, a sequence diagram was drawn for editAssignment. However, it is shown that something is returned from the Module class, even though there is no corresponding method (getter, modifier, etc) called of the Module class. It also appears that something is returned to the Model class from the UniqueModelList, despite Model not calling a method of UniqueModelList. This should not happen as returning from a function would indicate a returning of values to the original caller, not to another class.

image.png

test

No details provided.te

Person: Having the same name may not necessarily mean they are the same person

Using purely the name to uniquely identify a person may not be optimal, considering that there may be some people with a generic first name such as John, Alex.

This issue could be more pronounced for some users who might prefer not to store the person's surname inside RemindMe, which might cause a conflict earlier and much easier.

Commands used: add x2, with n/ parameter being the same, and different b/ parameters.

DG: Duplicate sections in add command

In page 11 of DG, the following was given:
image.png

The same was given in page 14:
image.png

The duplicate diagrams within the same section might cause some confusion for readers. Furthermore, the duplicate diagrams are unlikely to offer much value to help in the readers' understanding.

This is made worse by the mistaken labelling of the add command sequence diagram as the find command sequence diagram. Given that the "Find Feature" is directly underneath said diagram, the presence of this diagram, with its description directly above the header would cause significant disruption to the flow and understanding by the reader.

Past deadlines can be added

For the add command for the addition of an assignment, a past deadline can be added into RemindMe. This does not make sense for a reasonable user as it will be almost certain that a deadline of a past date would be an invalid input since users are highly unlikely to enter expired assignment.

Sequence of commands:

Prerequisites: have a module names CS2103; current date: 16/04/2021
Command run: add m/CS2103 a/test by/01/01/2020 0000
A reasonable user would expect this input to be rejected by the application.

image.png

Usage of technical terms

Error message provided for an invalid command format might be slightly technical, given that the user profile indicated in the DG does not imply one with sufficient computing background to grasp the concept of an "unsigned integer" (DG only mentioned that the users are more comfortable with CLI over GUi - this may not necessarily mean that the user understands unsigned integer. For better clarity, it might be better to indicate that only positive integers are allowed.

image.png

DG: Overly small text and poor contrast n sequence diagram (Delete)

In page 18, there is a sequence diagram for the delete operation, with the text so small that the reader has to zoom in significantly (>200% zoom) until the reader can effectively see the text on the sequence diagram. There could have been to much implementation detail as well, considering how UI-update methods and saving methods are also included even though the sequence diagram is mostly about the delete operation.

Furthermore, the Storage (I believe so) text in the light green box is in white. The contrast makes it nearly impossible for the reader to read, especially for colour-deficient people like me.

image.png

DG: Storage component class diagram

According the to the class definition of Storage.java linked in the Storage section, it appears that Storage extends RemindMeStorage and UserPrefsStorage. However, this inheritance is not shown in the class diagram. This could cause some maintenance issues should RemindMeStorage or UserPrefsStorage be changed in the future.

Inconsistency in delete function parameters and error message

Given in the UG are multiple variants of the delete function. However, they are inconsistent in the parameters format, which could cause usability issues. For instance, deleting a user only requires the provision of an INDEX, while deleting a module requires the module name as an argument. This inconsistency could manifest into usability problems when users are on a separate tab (Module/Event), and thought that providing the index of a Module/Event would delete the Module/Event on that particular page when it deletes a Person in the Contact List when that list is not even visible at that point in time.

Furthermore, the error message of an invalid command format does not clearly indicate to the users of the multiple variants of the delete function. Users who might be too lazy to refer to the UG might mistakenly presume that delete is only able to take in an INDEX.
image.png

The lack of clarity of the error message might also lead to the aforementioned scenario to happen as well.

Past dates accepted for exams

Currently, RemindMe accepts past dates as an argument for the exam date. However, for the typical user, this is usually not the case as the exam schedules would be provided ahead of time. Furthermore, a past date for an exam would indicate that the exam is already over. This makes the information entered moot. As such, a past date as an argument for the exam date should have been considered an invalid input.

Command Sequence:
Prerequisites: Presence of module named CS2103; current date is 16/04/2021
Command executed: add e/01/01/2020 0000

image.png

Deletion of a module does not check for assignments

Given that a module might contain information about other important things (specific assignments), and how modules can be named very similarly to each other (e.g. SOC CS 210X mods), implementing a blanket delete of the module with the specified name might be dangerous for a user as a small typo error could cause the loss of the entirety of a module's information that the user might not have wanted to delete.

This could be improved by either adding a verification prior to the deletion operation, or include a check to verify if all assignments under that module is completed/deleted, in order to reduce the chances of accidental deletion

Hard to understand explanation of parse method for Find feature

In the explanation for find feature (Step 6; page 16), the explanation for the checks done by the parse method is difficult for the user to understand. There appears to be a few contractions and/or missing information as well.

image.png

Given in the UG, the find command is able to take in 3 different prefixes (n/, m/, g/). However under Step 6, bullet point 1, sub-bullet point 1, it is written that the find command parser only checks for the 'm/' prefix, implying that the other 2 prefixes are not checked. This is clearly not the case.

The use of a negative predicate ("there isn't a PREFIX"), with a sub-bullets of positive sub-conditions such that the negative predicate is fulfilled is very difficult for the reader to follow along as well. It could be better if the positive predicate is listed instead (e.g. "PREFIX" must fulfill the following conditions).

There is also a minor grammar error in bullet 2 that relates to is-are after a plural verb.
image.png

DG: Unscrollable horizontal section of text

I believe that this section of text is important to the understanding of how the add feature operates for a developer, as it indicates what is thrown when ArgumentMultimap fails. However, this section is cut off in the PDF, since that section of text is unable to scroll.

image.png

This issue also appears under the Find feature section (page 16). It can also be seen that there is a HTML tag present in the text box which appears to be mistakenly rendered.

image.png

This occurs a not insignificant amount of times throughout the DG.

Inconsistent usage of prefixes (a/), and naming (ASSIGNMENT vs DESCRIPTION)

In the add command, the a/ prefix was used to denote the assignment name.

image.png

However, in the edit command, the a/prefix was used to denote the assignment index, and d/ was used to denote the assignment name.

image.png

The same issue also appears under the done command, where the a/ denotes assignment index, but is given a completely different name (INDEX).

image.png

This would cause confusion to a typical user and cause unnecessary inconvenience as the user would have to take a moment to consider which prefixes to use given the command they wish to use. It might be better to have a unified prefix-to-parameter match across RemindMe.

This issue is made worse where the same parameter is denoted using a different names in different sections. The usage of NEW DESCRIPTION for an assignment under edit might cause confusion to the user. The typical user might be given the false impression that there was an additional description field available for then to add/edit for a given assignment. However, the DESCRIPTION (edit) and ASSIGNMENT (add) fields both point to the same thing under assignment

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.