chapter 7 Flashcards
When does a system have a good design?
Low coupling, high cohesion, well-defined interface.
What are some programming guidelines?
- easy to read code
- build program from modular blocks
- not too specific and not too general
- use comments
- make dependencies among components visible
What are some guidelines for algorithms?
performance (big O)
tradeoff of efficiency.
What are data structures used for?
To make the code simpler and keep data organized.
What is pseudo code used for?
Revising code and algorithms to prevent patching code.
What is necessary for component reuse?
- component functions well for the task required.
- less modification than building from scratch.
- is it well-documented?
- a record of the component’s test and revision history.
What is internal documentation?
- header block comment
- good variable names and statement labels
- general program comments
- proper formatting
- document data
What is external documentation?
- describe the program
- describe the algorithm
- describe the data
What information should be in the header block of a program (internal documentation)?
- component name
- author
- components role in the system
- date written and revised
- purpose
- how it uses data structures, algorithms, and control
What is extreme programming?
customers define the features with stories, describe tests and assign priorities.
programmers implement the stories.
What is pair programming?
Driver or pilot: controlling computer and writing the code.
Navigator: reviewing the driver’s code and providing feedback.
What is whither programming?
documentation is essential in agile-methods.
- for roadmaps
- abstraction and system boundaries
- better communications.