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

Mock Q26: questionable and/or confusing answers #43

Open
rhoadesre opened this issue Feb 18, 2021 · 3 comments
Open

Mock Q26: questionable and/or confusing answers #43

rhoadesre opened this issue Feb 18, 2021 · 3 comments

Comments

@rhoadesre
Copy link
Contributor

These suggestions only work if the question is rewritten as suggested in #42
"Which TWO statements about the principle „Don’t repeat yourself” (DRY) are correct?
In other words: It should be avoided, that multiple copies of the source code or configuration exist within the system."

Original Answers:
c): The components of the system that contain redundant code can be improved independently of each other.
d): Adherence to DRY leads to a reduction of attack vectors in IT security.
e) Applying the Layer patterns allows a consistent application of the DRY principle

Problems:
c) Is this with or without DRY? This is simply stating the opposite of answer b.
d) Why is this answer wrong? If you reduce the number of copied code and the copied code has security problems, then reducing the number of copies reduces the security vulnerabilities?
e) This could be argued either way. If you didn't have layers, you would probably repeat, for example, user-interface code in multiple building blocks.

Recommended answers:
c) [completely new answer] The "Single Responsibility" principle supports the "DRY" principle, i.e. applying the "Single Responsibility" principle can help to reduce the number of redundant copies of code in the system.
d) [this answer can be left the same, but should be marked as correct???]
e) [remove]

@Pharb
Copy link

Pharb commented Mar 1, 2021

Just my thoughts from completing the exam a few days ago:

c): The components of the system that contain redundant code can be improved independently of each other.
c) Is this with or without DRY?

I think it is pretty clear from "components of the system that contain redundant code" that this refers to a case where DRY it not strictly enforced. Not blindly following DRY can lead to looser coupling and independent improvements of these components.

This is simply stating the opposite of answer b.

I guess this demonstrates the understanding, that loose coupling and maintainability of independent components are related and desirable.

@Pharb
Copy link

Pharb commented Mar 1, 2021

d): Adherence to DRY leads to a reduction of attack vectors in IT security.

d) Why is this answer wrong? If you reduce the number of copied code and the copied code has security problems, then reducing the number of copies reduces the security vulnerabilities?

I definitely agree with you. Please note that the latest version of the question apparently was corrected to state the opposite:

Adherence to DRY leads to additional attack vectors in IT security.

https://github.com/isaqb-org/examination-foundation/blob/master/docs/mock_exam/Mock-Exam-Questions-EN.pdf

@Pharb
Copy link

Pharb commented Mar 1, 2021

e) Applying the Layer patterns allows a consistent application of the DRY principle

e) This could be argued either way. If you didn't have layers, you would probably repeat, for example, user-interface code in multiple building blocks.

I think this is a clear indication that this not one of the correct answers. I think you can follow DRY without layers, or you can violate DRY by repeating logic within the same layer or different layers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants