User Tools

Site Tools


workgroup:codequality:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
workgroup:codequality:start [2017/03/20 14:53]
Mark Charlebois created
workgroup:codequality:start [2017/07/27 20:43] (current)
Mark Charlebois
Line 1: Line 1:
 ====== Code Quality WG ====== ====== Code Quality WG ======
 +
 +The Code Quality WG is focused on ways to provide incremental improvements to Dronecode project code quality and testing.
 +
 +
 +__Tools__
 +
 +  * Coverity - https://​scan.coverity.com/​projects/​px4-firmware
 +  * clang-tidy
 +  * astyle - consistent code formatting improves readability and reduces potential merge conflicts for downstream adopters
 +  * Docker - consistent, repeatable build environment
 +
 +
 +__Build System__
 +  * travis-ci (http://​travis-ci.org/​PX4/​Firmware)
 +     * responsible for building and deploying production binaries for QGroundControl
 +  * semaphoreci (https://​semaphoreci.com/​px4/​firmware/​)
 +  * circleci (https://​circleci.com/​gh/​PX4/​Firmware)
 +  * jenkins (http://​sitl01.dronetest.io/​)
 +     * runs a set of multicopter and VTOL mission tests 
 +
 +__Testing__
 +
 +  * mission tests
 +  * unit tests
 +  * SITL (Software in the loop)
 +  * HIL (Hardware in the loop)
 +
 +__Todo__
 +
 +  * significantly expand automated mission tests
 +  * run mission tests under address sanitizer
 +  * code coverage
 +  * hardware tests
 +  * perf tracking
 +  * Automated testing (static analysis, etc)
 +  * Running with address sanitier and thread sanitizer enabled
 +  * Clang tidy expand usage (modernize c++)
 +  * Identifying code in desperate need of refactoring (commander)
 +  * Using safe C++ types
 +     * A time in ms should be a time_ms type vs an int, safe addition, multiplication can then be used
 +     * Convert Orb and param usage to C++ APIs for type safety
 +  * Commander re-write
 +  * Better quantified code coverage tests
 +  * Make it easier for people to contribute and maintain code quality
 +  * Unify NuttX and DriverFramework drivers
 +    * Create design pattern for driver based on cross platform requirements
 +
  
workgroup/codequality/start.1490021594.txt.gz ยท Last modified: 2017/03/20 14:53 by Mark Charlebois