Code Reading: The Open Source Perspective (Effective Software Development Series) (v. 1)
Diomidis Spinellis, Addison-Wesley Professional ISBN:0201799405, Edition: , 2003-06-06 Price: $59.99
- Main Page
- Table of content
- Copyright
- 'Effective' Software Development Series
- Figures
- Tables
- Foreword
- Preface
- Supplementary Material
- Acknowledgments
- Chapter 1. Introduction
- 1.1 Why and How to Read Code
- 1.2 How to Read This Book
- Further Reading
- Chapter 2. Basic Programming Elements
- 2.1 A Complete Program
- 2.2 Functions and Global Variables
- 2.3 'while' Loops, Conditions, and Blocks
- 2.4 'switch' Statements
- 2.5 'for' Loops
- 2.6 'break' and 'continue' Statements
- 2.7 Character and Boolean Expressions
- 2.8 'goto' Statements
- 2.9 Refactoring in the Small
- 2.10 'do' Loops and Integer Expressions
- 2.11 Control Structures Revisited
- Further Reading
- Chapter 3. Advanced C Data Types
- 3.1 Pointers
- 3.2 Structures
- 3.3 Unions
- 3.4 Dynamic Memory Allocation
- 3.5 'typedef' Declarations
- Further Reading
- Chapter 4. C Data Structures
- 4.1 Vectors
- 4.2 Matrices and Tables
- 4.3 Stacks
- 4.4 Queues
- 4.5 Maps
- 4.6 Sets
- 4.7 Linked Lists
- 4.8 Trees
- 4.9 Graphs
- Further Reading
- Chapter 5. Advanced Control Flow
- 5.1 Recursion
- 5.2 Exceptions
- 5.3 Parallelism
- 5.4 Signals
- 5.5 Nonlocal Jumps
- 5.6 Macro Substitution
- Further Reading
- Chapter 6. Tackling Large Projects
- 6.1 Design and Implementation Techniques
- 6.2 Project Organization
- 6.3 The Build Process and Makefiles
- 6.4 Configuration
- 6.5 Revision Control
- 6.6 Project-Specific Tools
- 6.7 Testing
- Further Reading
- Chapter 7. Coding Standards and Conventions
- 7.1 File Names and Organization
- 7.2 Indentation
- 7.3 Formatting
- 7.4 Naming Conventions
- 7.5 Programming Practices
- 7.6 Process Standards
- Further Reading
- Chapter 8. Documentation
- 8.1 Documentation Types
- 8.2 Reading Documentation
- 8.3 Documentation Problems
- 8.4 Additional Documentation Sources
- 8.5 Common Open-Source Documentation Formats
- Further Reading
- Chapter 9. Architecture
- 9.1 System Structures
- 9.2 Control Models
- 9.3 Element Packaging
- 9.4 Architecture Reuse
- Further Reading
- Chapter 10. Code-Reading Tools
- 10.1 Regular Expressions
- 10.2 The Editor as a Code Browser
- 10.3 Code Searching with 'grep'
- 10.4 Locating File Differences
- 10.5 Roll Your Own Tool
- 10.6 The Compiler as a Code-Reading Tool
- 10.7 Code Browsers and Beautifiers
- 10.8 Runtime Tools
- 10.9 Nonsoftware Tools
- Chapter 11. A Complete Example
- 11.1 Overview
- 11.2 Attack Plan
- 11.3 Code Reuse
- 11.4 Testing and Debugging
- 11.5 Documentation
- 11.6 Observations
- Appendix A. Outline of the Code Provided
- Appendix B. Source Code Credits
- Appendix C. Referenced Source Files
- Appendix D. Source Code Licenses
- D.1 ACE
- D.2 Apache
- D.3 Argo'UML'
- D.4 DemoGL
- D.5 hsqldb
- D.6 Net'BSD'
- D.7 OpenCL
- D.8 Perl
- D.9 qtchat
- D.10 socket
- D.11 vcf
- D.12 X Window System
- Appendix E. Maxims for Reading Code
- Chapter 1 : Introduction
- Chapter 2 : Basic Programming Elements
- Chapter 3 : Advanced C Data Types
- Chapter 4 : C Data Structures
- Chapter 5 : Advanced Control Flow
- Chapter 6 : Tackling Large Projects
- Chapter 7 : Coding Standards and Conventions
- Chapter 8 : Documentation
- Chapter 9 : Architecture
- Chapter 10 : Code-Reading Tools
- Chapter 11 : A Complete Example
- Bibliography
- Epigraph Credits
- Colophon
- CD-ROM Warranty
|
|