1:Use multi-arg instead
【不要使用一连串的 arg().arg().arg() 了】
QString("%1 %2").arg(a).arg(b); // Bad
QString("%1 %2").arg(a, b); // one less temporary heap allocation
2:parameter 'list' is passed by value and only copied once; consider moving it to avoid unnecessary copies
【多使用右值引用,可以通过 std::move 将参数转化为右值引用】
ChartWidget::ChartWidget(QWidget *parent,QList<int> list) : QWidget(parent), l(list), delt(1.0)
{
} // Bad
ChartWidget::ChartWidget(QWidget *parent,QList<int> list) : QWidget(parent), l(std::move(list)), delt(1.0)
{
} // performance unnecessary value param
3:the parameter 'table_string' is copied for each invocation but only used as a const reference; consider making it a const reference
【定义函数时,多使用 const &】
void LogData::setupMatrixCam2Veh(QString table_string) // Bad
void LogData::setupMatrixCam2Veh(const QString& table_string)
// performance unnecessary value param
4:constructor does not initialize these fields
【不要忘记初始化类的变量,在头文件的变量旁添加 {} 就可以了】
QToolButton *resetButton; // Bad
QToolButton *resetButton{}; // cppcoreguidelines pro type member init
5:use auto when initializing with new to avoid duplicating the type name
【多用auto关键字,尽量使用更现代化的方式来 new】
QHBoxLayout *hl = new QHBoxLayout; // Bad
auto hl = new QHBoxLayout; // modernize use auto
方法来自网络,感谢贡献者。