Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 494, 650, 659, 663, 665, 669: Switch to GNAT Community 2021 and add preparatory work for session support #672

Merged
merged 43 commits into from
Jun 8, 2021

Conversation

treiher
Copy link
Collaborator

@treiher treiher commented May 28, 2021

Description

Closes #494
Closes #650 (only adds preparatory work; the full implementation will be part of #292)
Closes #659
Closes #663
Closes #665
Closes #669

Review Checklist

Reviewer: @senier

Implementation

  • Does this code change accomplish what it is supposed to do?
  • Can this solution be simplified?
  • Does this change add unwanted compile-time or run-time dependencies?
  • Was a framework, API, library, service used that should not be used?
  • Was a framework, API, library, service not used that could improve the solution?
  • Is the code at the right abstraction level?
  • Is the code modular enough?
  • Would you have solved the problem in a different way that is substantially better in terms of the code’s maintainability, readability, performance, security?
  • Does similar functionality already exist in the codebase? If so, why isn’t this functionality reused?
  • Are there any best practices, design patterns or language-specific patterns that could substantially improve this code?

Logic Errors and Bugs

  • Can you think of any use case in which the code does not behave as intended?
  • Can you think of any inputs or external events that could break the code?

Error Handling and Logging

  • Is error handling done the correct way?
  • Should any logging or debugging information be added or removed?
  • Are error messages user-friendly?
  • Are there enough log events and are they written in a way that allows for easy debugging?
  • Is the style of error / logging messages consistent?

Dependencies

  • If this change requires updates outside of the code, like updating the documentation, configuration, readme files, was this done?
  • Might this change have any ramifications for other parts of the system, or backward compatibility?

Security and Data Privacy

  • Does this code open the software up for security vulnerabilities?
  • Does this code change reveal some secret information like keys, passwords, or usernames (e.g., checked-in credentials)?

Performance

  • Do you think this code change will impact system performance in a negative way?
  • Do you see any potential to improve the performance of the code?

Usability

  • Is the proposed solution well designed from a usability perspective?
  • Is the API well documented?
  • Is the API/UI intuitive to use?

Testing

  • Does it have enough automated tests (unit/integration/system tests)?
  • Are there some test cases, input or edge cases that should be tested in addition?

Readability

  • Was the code easy to understand?
  • Can the readability of the code be improved by smaller methods?
  • Can the readability of the code be improved by different function/method or variable names?
  • Is the code located in the right file/folder/package?
  • Do you think certain methods should be restructured to have a more intuitive control flow?
  • Is the data flow understandable?
  • Are there redundant comments?
  • Could some comments convey the message better?
  • Would additional comments make the code more understandable?
  • Could some comments be removed by making the code itself more readable?
  • Is there any commented out code?

Experts Opinion

  • Do you think a specific expert, like a security expert or a usability expert, should look over the code before it can be committed?
  • Will this code change impact different teams?
  • Should they have a say on the change as well?

treiher added 30 commits May 26, 2021 12:04
This allows e.g. using the size of a sequence element in a size aspect.
Remove the direct access to the byte representation of sequence fields
and add getter functions for opaque fields.

Ref. #292, #650
Definite messages are messages with a bounded size and no optional
fields.

Ref. #292, #650
@treiher treiher requested a review from senier May 28, 2021 14:42
rflx/generator/generator.py Outdated Show resolved Hide resolved
rflx/model/type_.py Outdated Show resolved Hide resolved
tests/integration/specs_test.py Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants