Skip to content

Examination 4#8

Open
a-badin wants to merge 11 commits intomasterfrom
examination_4
Open

Examination 4#8
a-badin wants to merge 11 commits intomasterfrom
examination_4

Conversation

@a-badin
Copy link
Collaborator

@a-badin a-badin commented Dec 10, 2021

No description provided.

Copy link
Collaborator Author

@a-badin a-badin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тесты проверяют только вылеты с ошибками, логика приложения не тестируется

Q_OBJECT

public:
explicit Changer(QString name = "", int value = 30, int max_value = 255, QWidget *parent = 0);
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Когда параметров по-умолчанию больше 1 это создает проблемы, если вы хотите изменить только max_value, то вам придется продублировать name и value из заголовка. Кладите в конструктор только необходимые параметры. Остальные можно будет поменять через сеттер

~Changer() = default;

private:
int _value;
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

это не ошибка, но считается что имена которые начинаются c _ или содержать два __ зарезервированы за компилятором/реализацией стандартной библиотеки. Это даже прописано в стандарте

private:
int _value;

QSpinBox *spin_box;
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

имена членов данных лучше называть m_spin_box или spin_box_ чтобы они не конфликтовали с параметрами конструктора или аргументами функций класса

public slots:
void SetBrushSizeSlot(int size);
void SetTransparencySlot(int transparency);
void SetRedSlot(int transparency);
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

нужно сделать 1 сигнал с QColor или чем то подобным

// Status bar
statusBar()->showMessage("Status bar");

timer = new QTimer();
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Утечка памяти. В Qt специфичная система управления памятью, каждый объект QObject принимает на вход указатель на родителя. При уничтожении объекта в деструкторе он удаляет всех потомков. Поэтому если вы создаете объект в куче без parent, то это утечка

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants