AntiMicroX/antimicrox

Refactor constructors of some classes

Aperta

#554 aperta il 9 ott 2022

 (2 commenti) (0 reazioni) (0 assegnatari)C++ (236 fork)auto 404
good first issuelow-priotityrefactor

Metriche repository

Star
 (3844 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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

Guida contributor