User Tools

Site Tools


workgroup:codequality:start

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
workgroup:codequality:start [2017/04/20 03:58]
Daniel Agar
workgroup:codequality:start [2017/07/27 20:43] (current)
Mark Charlebois
Line 3: Line 3:
 The Code Quality WG is focused on ways to provide incremental improvements to Dronecode project code quality and testing. 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   * Coverity - https://​scan.coverity.com/​projects/​px4-firmware
   * clang-tidy   * clang-tidy
-  * astyle+  * astyle ​- consistent code formatting improves readability and reduces potential merge conflicts for downstream adopters 
 +  * Docker - consistent, repeatable build environment
  
  
 __Build System__ __Build System__
   * travis-ci (http://​travis-ci.org/​PX4/​Firmware)   * travis-ci (http://​travis-ci.org/​PX4/​Firmware)
 +     * responsible for building and deploying production binaries for QGroundControl
   * semaphoreci (https://​semaphoreci.com/​px4/​firmware/​)   * semaphoreci (https://​semaphoreci.com/​px4/​firmware/​)
   * circleci (https://​circleci.com/​gh/​PX4/​Firmware)   * circleci (https://​circleci.com/​gh/​PX4/​Firmware)
   * jenkins (http://​sitl01.dronetest.io/​)   * jenkins (http://​sitl01.dronetest.io/​)
 +     * runs a set of multicopter and VTOL mission tests 
  
 __Testing__ __Testing__
Line 19: Line 24:
   * mission tests   * mission tests
   * unit tests   * unit tests
- +  * SITL (Software in the loop) 
 +  * HIL (Hardware in the loop)
  
 __Todo__ __Todo__
Line 29: Line 34:
   * hardware tests   * hardware tests
   * perf tracking   * 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.1492660739.txt.gz · Last modified: 2017/04/20 03:58 by Daniel Agar