Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Programming Tools Slides by: Noppadon Kamolvilassatian Source: Code Complete by Steve McConnell, Chapter 20.

Similar presentations


Presentation on theme: "1 Programming Tools Slides by: Noppadon Kamolvilassatian Source: Code Complete by Steve McConnell, Chapter 20."— Presentation transcript:

1 1 Programming Tools Slides by: Noppadon Kamolvilassatian Source: Code Complete by Steve McConnell, Chapter 20

2 2 A Quote A dog might be man’s best friend, but a few good tools are a programmer’s best friends.

3 3 Design Tools n Support common graphical notations and PDL –hierarchy charts, E-R diagram, Jackson Structured Design, etc. n Helps on housekeeping –e.g., rearrange bubbles automatically when you add or delete a bubble n Enable you to move between higher and lower levels of abstraction n Check consistency of your design n Some may be able to create code directly from your design

4 4 Source-code Tools: Editing n Editors –syntax checks, search and replace, multi-level undo, etc. n Multiple-file string changers –AWK n File comparators n Source-code beautifiers n Templates –automatically creating skeleton of your programs

5 5 Source-code Tools: Browsing n Helps you find what you look for more easily n Multiple-file string searchers –grep ”\[ *[0-9]* *\]” *.c (Look for magic numbers) n Cross-reference tools –look for variable and routine names in all places at once n Call-structure generator –produce information about how routines call each other –useful for packaging a program into modules, debugging.

6 6 Tools: Analyzing Code Quality n Picky syntax and semantics checker –e.g., detection of “while ( i = 0)” n Metrics reporters –Report the quality of your routines. –Identify most complicated routines, so you can review them. –Track defects and the programmers who made them. –Count modifications on the software –etc.

7 7 Tools: Restructuring Source Code n Code translators –Translate from one language to another n Version Control –Track different versions of modules, routines n Data Dictionaries –Keeping track of thousands of variable names on a larger project

8 8 Code Creation Tools n Linkers –links one or more object files with the standard code to make executable programs n Code Libraries –something you can buy (in many cases cheaper and perhaps better-quality than coding them yourself) –multimedia application creation, networking, graphics functions, mathematical operations, data compression, etc. n Code generator –esp. on user interface and database –the prime examples are Borland Builder Series

9 9 Code Creation Tools n Macro preprocessors –e.g., #define MAX_EMPS 5000 –the preprocessor replace MAX_EMPS with 5000 before compilation

10 10 Debugging Tools n Compiler warning messages n File comparators n Interactive debuggers –Watch, Breakpoint, Jump, etc

11 11 Testing n Results comparators n Automated test generators n Test-case record and playback utilities n Coverage monitors (logic analyzer, execution profilers) n etc.

12 12 Code Tuning n Execution profilers –watches your code while it runs and tells you how many times each statement is executed or how much time the program spends on each statement –helps you in focus your code-tuning effort n Assembler listings and disassemblers –show you the assembler code generated by compilers

13 13 Building your own programming tools n Project-specific tools –An insurance company developed software to calculate its rate increases. Hundreds of computed rate needs to be checked carefully. Checking for errors by hand take a long time. They wrote another software to check the main program’s rates. –Microsoft planned to use a new font technology. Software was developed to check whether errors are in the font data or software. n Scripts –automate something repetitive


Download ppt "1 Programming Tools Slides by: Noppadon Kamolvilassatian Source: Code Complete by Steve McConnell, Chapter 20."

Similar presentations


Ads by Google