-
Notifications
You must be signed in to change notification settings - Fork 1
1. Standards & Development Process Flow
This document serves as a comprehensive guide and resource center for software development within the RDKCentral org, covering a wide range of topics from coding standards and testing methodologies to frequently asked questions and specific technology overviews.
Here's a breakdown of the content:
- Standards & Best Practices: This section provides detailed guidelines on coding standards, documentation practices, branching strategies, and interface development, ensuring consistency and quality across projects.
- Testing Methodologies: It outlines various testing levels and frameworks, including Test-Driven Development (TDD) and system interface testing, emphasizing the importance of robust testing in the development life-cycle.
- Code Examples & Advanced Topics: This section offers practical code examples for dynamic library loading and plugin development, and delves into advanced concepts like virtual device development and control plane overviews.
- FAQ & Troubleshooting: A comprehensive FAQ section addresses common challenges and questions related to Git workflows, Vagrant setup, C macros, testing techniques, and RDK-specific tools.
- Technology Overviews: Provides concise explanations of key technologies and frameworks used within the organization, such as the UT-Core framework and RDK Docker tool-chain.
By centralizing this information, the document aims to streamline development processes, reduce on boarding time for new developers, and promote best practices across the organization.
To contribute to the RDK, you'll need to choose a delivery model:
RDK Central Partners: If you're an RDK Central partner, you might be eligible to contribute as a Tier 1 developer. Please contact [RDK Support Team](mailto:[email protected]) to confirm your eligibility.
- 1.0. Standards: Tier 1 Operator Guide: Branching for Direct Contributions
- 1.0.1 Standards: Tier 2 Operator Guide: Forking for External Contributions
This section offers resources and guidelines on coding standards, including recommended reading, issue/milestone descriptions, commit message conventions, and semantic versioning.
- 1.1. Standards: Principles from Code Complete
- 1.2. Standards: Issue Description Guideline
- 1.3. Standards: Milestone Description Guideline
- 1.4. Standards: Commit Message: The 50-72 Rule: A Simple Guide
- 1.5. Standards: Semantic Versioning and Testing Suite Alignment
This section provides general information on key topics like documentation standards, branching strategies, interface modification procedures, and repository access policies.
- 2 Single Source of Truth - HAL Interfaces and Testing Suites
- 2.1. Doxygen: Crafting Excellent Documentation
- 2.2. Standards: Forking And Branching
- 2.3. Standards: Performing Changes to an interface
- 2.4.-Standards:-Repository-Access-and-Branch-Protection-Policy
- 2.5.-Standards:-Feature-Branch-Workflow
This section outlines testing standards and best practices, covering various levels and types of testing, including TDD and system interface testing.
- 3.0.0 Standards: Levels of Test for Vendor Layer
- 3.0.1 Standards: Testing Feedback Loops
- 3.1.0 Standards: Overview of Test Driven Development (TDD)
- 3.2.0 Standards: Requirements for building testing suites
- 3.3.0 Standards: L4: System Interface Testing
- 3.4.0 Standards: L4: Vendor Full Stack: Video Smoke Regression Test
This section provides code examples demonstrating key standards like dynamic library loading and plugin implementation.
- 4. Standards: Dynamic Library Loading for Vendor Abstraction
- 4.1 Standards: Dynamically Installable Plug-ins In C
This section provides an overview of the virtual device (vDevice) and its control plane.
This section provides resources to help you get started with contributing to the project.
Currently available training:
-
T1: Training: CODEOWNERS: Ensuring Code Quality and Governance: This training explains the
CODEOWNERS
file and its role in ensuring code quality and proper governance within the project.
The FAQ section provides quick answers to common questions, saving users time and effort. Organized by topic, it offers easy access to essential information.
- FAQ: Git Flow Support for Multiple mainlines
- FAQ: Git‐Flow: Developers Branching Model
- FAQ: Release Engineers: Performing a release with git flow
- FAQ:-Vagrant: Setting Up and Managing Your Vagrant-VM
- FAQ: Migrating Binaries to
Git-LFS
- FAQ: C macro that prints the function name, parameter names with values
- FAQ: C Macro that prints structure fields
- FAQ: Black-Box Testing and Code Coverage Metrics
- FAQ: RDK Docker Toolchain
- FAQ: Video and Audio Playback Performance Metrics
- FAQ: Choosing GHEC-ORG or RDKCentral
- FAQ: Comparing Python Development Platforms
- FAQ: UT-Core Framework Overview
- FAQ: Sign up for RDK Central Tier-1 Registration
- FAQ: Buildroot vs. Yocto Project vs. Bob the Builder
- FAQ: Software Post Release Development Cycle