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/21 04:35] Daniel Agar |
workgroup:codequality:start [2017/07/27 20:43] Mark Charlebois |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Code Quality WG ====== | ====== Code Quality WG ====== | ||
- | Build System | + | The Code Quality WG is focused on ways to provide incremental improvements to Dronecode project code quality and testing. |
- | travis-ci | ||
- | semaphoreci | ||
- | circleci | ||
- | jenkins | ||
- | mission tests | + | __Tools__ |
- | unit tests | + | |
+ | * 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 | ||
- | Coverity - https://scan.coverity.com/projects/px4-firmware | ||
+ | __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 | ||
- | Address sanitizer | + | __Testing__ |
+ | * mission tests | ||
+ | * unit tests | ||
+ | * SITL (Software in the loop) | ||
+ | * HIL (Hardware in the loop) | ||
- | clang-tidy | + | __Todo__ |
- | astyle | + | |
+ | * 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 | ||
- | hardware tests | ||