Basics Flashcards

1
Q

Why is productivity decreasing during development?

A

Increasing complexity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is software entropy?

A
  • difficult and costly to maintain

→ highly unpredictable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are (4) attributes of bad code?

A
  1. Ridid
  2. Fragile
  3. Inseparable
  4. Opaque
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does rigid code mean?

A

One single modification requests modification of many modules

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does fragile code mean?

A

One modification breaks the whole system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does inseparable code mean?

A

One module can’t be reused without using many others

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is opaque code?

A

During reading it’ts not clear what the code is doing and how

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are (3) reasons for writing bad code?

A
  1. Wrong priority (fast)
  2. Wring attitude (lazy)
  3. Missing knowledge
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the broken window effect and what does it mean for our code?

A

One broken window starts process toward decay.

→ never stop cleaning

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the (3) actions of code sense?

A
  1. reading code
  2. preparing code
  3. testing code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is required for a code quality attitude (3)?

A
  1. Knowledge (best practices)
  2. Judgement
  3. Dicipline (clean everyday)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the two rules for writing good code?

A
  1. Leave code cleaner that you found it

2. Write code for the future you

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the (4) steps of Test-Driven-Development?

A
  1. Preparing test
  2. Programming to pass test
  3. Refactoring
  4. Testing again
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is refactoring?

A

Improving code structure without changing it’s behavior

How well did you know this?
1
Not at all
2
3
4
5
Perfectly