====== 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