Code reading : the open source perspective /
Saved in:
Author / Creator: | Spinellis, Diomidis. |
---|---|
Imprint: | Boston, MA : Addison-Wesley, ©2003. |
Description: | 1 online resource (xxviii, 495 pages) |
Language: | English |
Series: | Effective software development series Effective software development series. |
Subject: | |
Format: | E-Resource Book |
URL for this record: | http://pi.lib.uchicago.edu/1001/cat/bib/13594222 |
Table of Contents:
- Foreword
- Preface
- 1. Introduction
- Why and How to Read Code
- Code as Literature
- Code as Exemplar
- Maintenance
- Evolution
- Reuse
- Inspections
- How to Read this Book
- Typographical Conventions
- Diagrams
- Exercises
- Supplementary Material
- Tools
- Outline
- The Great Language Debate
- 2. Basic Programming Elements
- A Complete Program
- Functions and Global Variables
- While, Conditions, Blocks
- Switch
- For
- Break, Continue
- Character and Boolean Expressions
- Goto
- Refactoring in the Small
- Do, Integer Expressions
- Control Structures Revisited
- 3. Advanced C Data Types
- Pointers
- Linked Data Structures
- Dynamic Allocation of Data Structures
- Call by Reference
- Data Element Access
- Arrays as Arguments and Results
- Function Pointers
- Pointer as an Alias
- Pointers and Strings
- Direct Memory Access
- Structures
- Grouping Together Data Elements
- Returning Multiple Data Elements from a Function
- Mapping the Organization of Data
- Programming in an Object-Oriented Fashion
- Unions
- Efficient Use of Storage
- Implementing Polymorphism
- Accessing Different Internal Representations
- Dynamic Memory Allocation
- Managing Free Memory
- Structures with Dynamically-Allocated Arrays
- Typedef Declarations
- 4. C Data Structures
- Vector
- Matrix and Table
- Stack
- Queue
- Map
- Hash Tables
- Set
- Linked List
- Tree
- Graph
- Node Storage
- Edge Representation
- Edge Storage
- Graph Properties
- Hidden Structures
- Other Representations
- 5. Advanced Control Flow
- Recursion
- Exceptions
- Parallelism
- Hardware and Software Parallelism
- Control Models
- Thread Implementations
- Signals
- Nonlocal Jumps
- Macro Substitution
- 6. Tackling Large Projects
- Design and Implementation Techniques
- Project Organization
- The Build Process and Makefiles
- Configuration
- Revision Control
- Project-Specific Tools
- Testing
- 7. Coding Standards and Conventions
- File Names and Organization
- Indentation
- Formatting
- Naming Conventions
- Programming Practices
- Process Standards
- 8. Documentation
- Documentation Types
- Reading Documentation
- Documentation Problems
- Additional Documentation Sources
- Common Open-Source Documentation Formats
- 9. Architecture
- System Structures
- Centralized Repository and Distributed Approaches
- Data-Flow
- Object-Oriented
- Layered
- Hierarchies
- Slicing
- Control Models
- Event-Driven Systems
- System Manager
- State Transition
- Element Packaging
- Module
- Namespace
- Object
- Generic Implementation
- Abstract Data Type
- Library
- Process and Filter
- Component
- Data Repository
- Architecture Reuse
- Frameworks
- Code Wizards
- Design Patterns
- Domain-Specific Architectures
- 10. Code-Reading Too