User Tools

Site Tools


workgroup:codequality:start

Code Quality WG

The Code Quality WG is focused on ways to provide incremental improvements to Dronecode project code quality and testing.

Tools

  • clang-tidy
  • astyle - consistent code formatting improves readability and reduces potential merge conflicts for downstream adopters
  • Docker - consistent, repeatable build environment

Build System

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
workgroup/codequality/start.txt · Last modified: 2017/07/27 20:43 by Mark Charlebois