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

LG-03-04-design-principles-need-better-references #577

Open
gernotstarke opened this issue Oct 9, 2024 · 6 comments
Open

LG-03-04-design-principles-need-better-references #577

gernotstarke opened this issue Oct 9, 2024 · 6 comments
Assignees
Labels
enhancement examination related to examination questions glossary help wanted Extra attention is needed V2025 Release 2025

Comments

@gernotstarke
Copy link
Member

gernotstarke commented Oct 9, 2024

For this important LG we don't provide adequate references.

  • abstraction:
  • modularization: Parnas?
  • encapsulation
  • separation of concerns
  • open closed
  • dependency inversion
  • high cohesion
  • low coupling
  • conceptual integrity: Brooks?
  • complexity reduction, simplicity:
  • expect errors
  • yagni
  • dry

These principles are a MAJOR SOURCE for future exam questions, therefore we should invest in collecting reliable, well-known sources.

@gernotstarke gernotstarke converted this from a draft issue Oct 9, 2024
@gernotstarke gernotstarke added enhancement glossary V2025 Release 2025 examination related to examination questions help wanted Extra attention is needed labels Oct 9, 2024
@skogsbaer
Copy link
Collaborator

skogsbaer commented Oct 21, 2024

I started working on this issue by looking what terms are already part of the glosssary:

Already linked to glossary

  • encapsulation (without citation in glossary)
  • separation of concerns (without citation in glossary)
  • open closed principle (needs proper citation in glossary)
  • dependency inversion (has citation in glossary)
  • high cohesion (without citation in glossary)

Action needed: improve glossary with proper citation

Already with references:

  • low coupling [Ford+2021], but in LG-03-06

Action needed: none

With a glossary entry

  • abstraction
  • conceptual integrity: Brooks?
  • LSP

Action needed: link to glossary, add reference to glossary

Without glossary entry (but we should have one)

  • yagni
  • dry

Action needed: write glossary entry with reference, add link to glossary

Other

  • expect errors
  • complexity reduction, simplicity

Action needed: add reference

@skogsbaer
Copy link
Collaborator

One principled question for @gernotstarke and every else: what kind of references are most useful?

For example, for the term "modularity" David Parnas' article "On the Criteria To Be Used in Decomposing Systems into Modules" is probably the correct historical reference. But its from 1972. There are modern books, which could also serve as a good reference, e.g. Ford+2021 has at least two chapters about modularity and decomposition. There are many other books that could also serve as a reference, the difficulty is now to decide "which is the best reference".

Another example: for the term "separation of concerns", a historical reference would be Dijkstra's essay "On the Role of Scientific Thought" (or again Parnas). But this essay is from 1982 and difficult access.

My suggestion is: have a good explanation in the glossary and give the correct historical reference (if possible).

What do you think?

@ulibecker
Copy link
Contributor

I like the approach suggested by @skogsbaer to "have a good explanation in the glossary and give the correct historical reference (if possible)"

@gernotstarke
Copy link
Member Author

I understand your suggestion as follows:

  1. give a understandable ("good") explanation in the glossary
  2. add (maybe historical) references also in the glossary

@gernotstarke
Copy link
Member Author

see PR #669

@gernotstarke
Copy link
Member Author

we tranform this suggestion into ADR-012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement examination related to examination questions glossary help wanted Extra attention is needed V2025 Release 2025
Projects
Status: waiting-for-approval
Development

No branches or pull requests

4 participants