Coding design Flashcards

1
Q

What is implementation

A

-writing the source code that is needed to realize the architecture and design.

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

Three ways of managing the implementation process:

A

Version management (git)
Build system (Ant) - assembling automation
Issue tracking (JIRA) - keep track of bug reports.

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

What are the 4 key implementation concepts:

A

Understandability
Testability
Reusability
Efficiency.

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

Tips to write understandable code:

A
  1. meaningful identifier names
  2. Add comments
  3. follow a coding style convention.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Things to keep in mind for testability

A

More execution paths, more tests.

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

Tips to make code more testable

A
  1. Follow Test driven development (TDD) (Code must only be written to make a test case pass, and tests musts exist before the code can be written).
  2. Test early and test often.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the benefits of reusability?

A

Code reuse simplifies maintenance - bugs only need to be fixed in one place.
Code reuse accelerates development - less time reinventing the wheel.

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

Tips for reusability

A

-DRY - don’t repeat yourself (use method calls)
-Increase Cohesion where possible (keeps related things together, and unrelated things out)
- Reduce coupling where possible (indication of interdependence accross modules)

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

Tips to ensure efficiency:

A

Avoid recursion when possible.
study efficient search/sort algorithms.
Big O notation: measure the worst case time complexity of an algorithm.

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