1 / 16

CH07: Writing the Programs

CH07: Writing the Programs. Does not teach you how to program, but point out some software engineering practices that you should should keep in mind as you write your code. * Programming Standards and Procedures * Programming Guidelines * Documentation. TECH Computer Science.

ttash
Télécharger la présentation

CH07: Writing the Programs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CH07: Writing the Programs • Does not teach you how to program, but point out some software engineering practices that you should should keep in mind as you write your code. • * Programming Standards and Procedures • * Programming Guidelines • * Documentation TECH Computer Science

  2. Programming Standards and Procedures • Most software is developed by teams • Standards for you • force you to organize! • Standards for others to understand • (1) what you have written • (2) why you have written it • (3) how it fits in with other work

  3. Standards format for comments, e.g. • /* Statement of function: • * Component name: • * Programmer: • * Version: • * Procedure Invocation: • * Input Parameters: • * Output Parameters: • */

  4. Matching Design with Implementation • Direct correspondence between the program design and program code • Configuration Management for tracing the correspondence

  5. Programming Guidelines • Major aspects of programming: • control structures • algorithms • data structures

  6. Control Structures • (1) preserve the control structure suggested by architecture and design • (2) should not jump wildly through the code • (3) modularity • (4) generality is a virtue (do not over do it) • (5) dependence among components must be visible

  7. Algorithms • Choose wisely! • Algorithms effects execution time • “do not sacrifice clarity and correctness for speed”

  8. Data structures • Keeping the program simple == give the data structures simple • Using a data Structure to Determine a Program Structure • e.g. recursive data structure require recursive procedures

  9. General Guidelines • Localizing input and output • Including pseudocode • outline what need to be done • a framework on which to construct the code • Revising and Rewriting, not Patching • Reuse

  10. Documentation • program documentation explain what the programs do and how they do it. • Internal documentation is descriptive material written directly within the code: comments • external documentation is descriptive material not within the code.

  11. Comments (for yourself and others) • Header comment block: overview of the component • Other program comments, e.g. • // Increment i3 • i3 = i3 + 1; • // Set counter to read next case • i3 = i3 + 1; • // Ideally • case_counter = case_counter + 1;

  12. Meaningful Variable Names • weekWage = (hourRate * hours) + (0.5)*(hourRate)*(hours - 40); • // read this • z = (a * b) + (0.5) * (a) * (b - 40);

  13. Formatting to Enhance understanding • indentation

  14. Documenting data • the way in which data are structured and used • comment on the variable you declared

  15. External Documents • For people who may never look at the actual code • describing interface: • the inputs and the outputs • what arguments are passed • which arguments will be changed • what is returned • The processing • how the inputs are transformed to outputs

More Related