AntiMicroX/antimicrox

Refactor constructors of some classes

オープン

#554 opened on 2022/10/09

 (2 件のコメント) (0 件のリアクション) (0 人の担当者)C++ (236 件のフォーク)auto 404
good first issuelow-priotityrefactor

Repository metrics

Stars
 (3,844 個のスター)
PR merge metrics
 (PR metrics pending)

説明

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

コントリビューターガイド