RTEMS Documentation Project RTEMS Software Engineering
5.c5749d0-modified
  • 1. Preface
  • 2. Introduction to Pre-Qualification
  • 3. RTEMS Stakeholders
    • 3.1. Qualification - Stakeholder Involvement
  • 4. Software Development Management
    • 4.1. Software Development (Git Users)
      • 4.1.1. Browse the Git Repository Online
      • 4.1.2. Using the Git Repository
      • 4.1.3. Making Changes
      • 4.1.4. Working with Branches
      • 4.1.5. Viewing Changes
      • 4.1.6. Reverting Changes
      • 4.1.7. git reset
      • 4.1.8. git revert
      • 4.1.9. Merging Changes
      • 4.1.10. Rebasing
      • 4.1.11. Accessing a developer’s repository
      • 4.1.12. Creating a Patch
      • 4.1.13. Submitting a Patch
      • 4.1.14. Configuring git send-email to use Gmail
      • 4.1.15. Sending Email
      • 4.1.16. Troubleshooting
      • 4.1.17. Manage Your Code
      • 4.1.18. Private Servers
      • 4.1.19. Learn more about Git
    • 4.2. Software Development (Git Writers)
      • 4.2.1. SSH Access
      • 4.2.2. Personal Repository
      • 4.2.3. Create a personal repository
        • 4.2.3.1. Check your setup
        • 4.2.3.2. Push commits to personal repo master from local master
        • 4.2.3.3. Push a branch onto personal repo
        • 4.2.3.4. Update from upstream master (RTEMS head)
      • 4.2.4. GIT Push Configuration
      • 4.2.5. Pull a Developer’s Repo
      • 4.2.6. Committing
        • 4.2.6.1. Ticket Updates
        • 4.2.6.2. Commands
      • 4.2.7. Pushing Multiple Commits
      • 4.2.8. Ooops!
    • 4.3. Coding Standards
      • 4.3.1. Coding Conventions
        • 4.3.1.1. Source Documentation
        • 4.3.1.2. Licenses
        • 4.3.1.3. Language and Compiler
        • 4.3.1.4. Formatting
        • 4.3.1.5. Readability
        • 4.3.1.6. Robustness
        • 4.3.1.7. Portability
        • 4.3.1.8. Maintainability
        • 4.3.1.9. Performance
        • 4.3.1.10. Miscellaneous
        • 4.3.1.11. Layering
        • 4.3.1.12. Exceptions to the Rules
        • 4.3.1.13. Tools
      • 4.3.2. Eighty Character Line Limit
        • 4.3.2.1. Breaking long lines
      • 4.3.3. Deprectating Interfaces
      • 4.3.4. Doxygen Guidelines
        • 4.3.4.1. Group Names
        • 4.3.4.2. Use Groups
        • 4.3.4.3. Files
        • 4.3.4.4. Type Definitions
        • 4.3.4.5. Function Declarations
        • 4.3.4.6. Header File Examples
      • 4.3.5. Boilerplate File Header
      • 4.3.6. Generating a Tools Patch
      • 4.3.7. Naming Rules
        • 4.3.7.1. General Rules
    • 4.4. Change Management
    • 4.5. Issue Tracking
  • 5. Software Test Plan Assurance and Procedures
    • 5.1. Testing and Coverage
      • 5.1.1. Test Suites
        • 5.1.1.1. Legacy Test Suites
      • 5.1.2. RTEMS Tester
  • 6. Software Test Framework
    • 6.1. The RTEMS Test Framework
      • 6.1.1. Nomenclature
      • 6.1.2. Test Cases
      • 6.1.3. Test Fixture
      • 6.1.4. Test Case Planning
      • 6.1.5. Test Case Resource Accounting
      • 6.1.6. Test Case Scoped Dynamic Memory
      • 6.1.7. Test Case Destructors
      • 6.1.8. Test Checks
        • 6.1.8.1. Test Check Parameter Conventions
        • 6.1.8.2. Test Check Condition Conventions
        • 6.1.8.3. Test Check Variant Conventions
        • 6.1.8.4. Boolean Expressions
        • 6.1.8.5. Generic Types
        • 6.1.8.6. Pointers
        • 6.1.8.7. Memory Areas
        • 6.1.8.8. Strings
        • 6.1.8.9. Characters
        • 6.1.8.10. Integers
        • 6.1.8.11. RTEMS Status Codes
        • 6.1.8.12. POSIX Error Numbers
        • 6.1.8.13. POSIX Status Codes
      • 6.1.9. Custom Log Messages
      • 6.1.10. Time Services
      • 6.1.11. Code Runtime Measurements
      • 6.1.12. Test Runner
      • 6.1.13. Test Verbosity
      • 6.1.14. Test Reporting
      • 6.1.15. Test Report Validation
      • 6.1.16. Supported Platforms
    • 6.2. Test Framework Requirements for RTEMS
      • 6.2.1. License Requirements
      • 6.2.2. Portability Requirements
      • 6.2.3. Reporting Requirements
      • 6.2.4. Environment Requirements
      • 6.2.5. Usability Requirements
      • 6.2.6. Performance Requirements
    • 6.3. Off-the-shelf Test Frameworks
      • 6.3.1. bdd-for-c
      • 6.3.2. CBDD
      • 6.3.3. Google Test
      • 6.3.4. Unity
    • 6.4. Standard Test Report Formats
      • 6.4.1. JUnit XML
      • 6.4.2. Test Anything Protocol
  • 7. Software Release Management
    • 7.1. Software Change Report Generation
    • 7.2. Version Description Document (VDD) Generation
  • 8. User’s Manuals
    • 8.1. Documentation Style Guidelines
  • 9. Licensing Requirements
  • 10. Appendix: Core Qualification Artifacts/Documents
  • 11. References
Index
RTEMS Software Engineering
  • Docs »
  • 4. Software Development Management »
  • 4.3. Coding Standards

4.3. Coding Standards¶

TBD - Write introduction, re-order, identify missing content

  • 4.3.1. Coding Conventions
    • 4.3.1.1. Source Documentation
    • 4.3.1.2. Licenses
    • 4.3.1.3. Language and Compiler
    • 4.3.1.4. Formatting
    • 4.3.1.5. Readability
    • 4.3.1.6. Robustness
    • 4.3.1.7. Portability
    • 4.3.1.8. Maintainability
    • 4.3.1.9. Performance
    • 4.3.1.10. Miscellaneous
    • 4.3.1.11. Layering
    • 4.3.1.12. Exceptions to the Rules
    • 4.3.1.13. Tools
  • 4.3.2. Eighty Character Line Limit
    • 4.3.2.1. Breaking long lines
  • 4.3.3. Deprectating Interfaces
  • 4.3.4. Doxygen Guidelines
    • 4.3.4.1. Group Names
    • 4.3.4.2. Use Groups
    • 4.3.4.3. Files
    • 4.3.4.4. Type Definitions
    • 4.3.4.5. Function Declarations
    • 4.3.4.6. Header File Examples
  • 4.3.5. Boilerplate File Header
  • 4.3.6. Generating a Tools Patch
  • 4.3.7. Naming Rules
    • 4.3.7.1. General Rules
Next Previous

© Copyright 1988, 2019 RTEMS Project and contributors.

Built with Sphinx using a theme provided by Read the Docs.