QtCS2017 Before Runtime discussion: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
Line 10: Line 10:
** having tools outside of QtCreator and use these tools maybe inside
** having tools outside of QtCreator and use these tools maybe inside
* API changes need to be available by Clangtidy scripts (?)
* API changes need to be available by Clangtidy scripts (?)
* what about templates?
** concept


== Make changes easy ==
== Make changes easy ==

Revision as of 11:31, 9 October 2017

Make the API easy?

  • Copy on Write to avoid copies at runtime
  • Can we do it at compile time?
  • Let tools get const and references right
  • Warn about unnecessary copies
  • Clang can help here

Notes

  • need real examples
  • QtCreator supports only very basic refactoring tools
    • having tools outside of QtCreator and use these tools maybe inside
  • API changes need to be available by Clangtidy scripts (?)
  • what about templates?
    • concept

Make changes easy

  • API changes are expensive
  • API looks outdated if not adapted to current paradigms (legacy code)
  • How can we make them easy
  • How can Clang help here

Clang Query

  • Think about it as SQL for the AST
  • Makes big changes much cheaper and secure

Immediate feedback vs overnight refactoring

  • Both are important
  • Immediate feedback reduces refactorings and reviews
  • Run refactorings overnight for expansive refactorings
  • Integration with the CI