AntiMicroX/antimicrox

Refactor constructors of some classes

開放

#554 建立於 2022年10月9日

 (2 則留言) (0 個反應) (0 位負責人)C++ (236 個分叉)auto 404
good first issuelow-priotityrefactor

倉庫指標

星標
 (3,844 顆星)
PR 合併指標
 (平均合併 13分鐘) (30 天內合併 1 個 PR)

描述

Classes like ButtonEditDialog JoyButtonSlot (and probably many other) have many duplications in overrides constructors.

For example

JoyButtonSlot::JoyButtonSlot(QObject *parent)
    : QObject(parent)
    , extraData()
{
    deviceCode = 0;
    m_mode = JoyKeyboard;
    m_distance = 0.0;
    previousDistance = 0.0;
    qkeyaliasCode = 0;
    easingActive = false;
    mix_slots = nullptr;
}

JoyButtonSlot::JoyButtonSlot(int code, JoySlotInputAction mode, QObject *parent)
    : QObject(parent)
    , extraData()
{
    deviceCode = 0;
    qkeyaliasCode = 0;

    if (code > 0)
        deviceCode = code;

    m_mode = mode;
    m_distance = 0.0;
    easingActive = false;
    mix_slots = nullptr;
}

JoyButtonSlot::JoyButtonSlot(int code, int alias, JoySlotInputAction mode, QObject *parent)
    : QObject(parent)
    , extraData()
{
    deviceCode = 0;
    qkeyaliasCode = 0;

    if (code > 0)
        deviceCode = code;

    if (alias > 0)
        qkeyaliasCode = alias;

    m_mode = mode;
    m_distance = 0.0;
    easingActive = false;
    mix_slots = nullptr;
}

Instead of duplicating code, these constructors could call each other

貢獻者指南