This shows you the differences between two versions of the page.
| 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 | ||
| + | |||