This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
workgroup:codequality:start [2017/03/23 03:14] Daniel Agar |
workgroup:codequality:start [2017/07/27 20:43] (current) Mark Charlebois |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Code Quality WG ====== | ====== Code Quality WG ====== | ||
| - | Coverity - https://scan.coverity.com/projects/px4-firmware | + | The Code Quality WG is focused on ways to provide incremental improvements to Dronecode project code quality and testing. |
| - | clang-tidy | ||
| - | astyle | ||
| + | __Tools__ | ||
| - | __Build System | + | * Coverity - https://scan.coverity.com/projects/px4-firmware |
| - | __ | + | * clang-tidy |
| - | - travis-ci (http://travis-ci.org/PX4/Firmware) | + | * astyle - consistent code formatting improves readability and reduces potential merge conflicts for downstream adopters |
| - | - semaphoreci (https://semaphoreci.com/px4/firmware/) | + | * Docker - consistent, repeatable build environment |
| - | - circleci (https://circleci.com/gh/PX4/Firmware) | + | |
| - | - jenkins (http://sitl01.dronetest.io/) | + | |
| - | __Testing__ | ||
| - | - mission tests | + | __Build System__ |
| - | - unit tests | + | * 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__ | __Todo__ | ||
| - | - significantly expand automated mission tests | + | * significantly expand automated mission tests |
| - | - run mission tests under address sanitizer | + | * run mission tests under address sanitizer |
| - | - code coverage | + | * code coverage |
| - | - 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 | ||