CodingStyle/C/C++/Rules: различия между версиями

Материал из Etersoft wiki
Перейти к навигацииПерейти к поиску
Строка 22: Строка 22:


См. полный список: [[CodingStyle/C/C++/MartinRules]]
См. полный список: [[CodingStyle/C/C++/MartinRules]]
* [http://flibusta.lib/b/223917/read Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ. Скотт Мейерс]

Версия 17:11, 16 декабря 2015

Общие правила Etersoft

E1. Использование switch для enum

Обычно значения enum используется для разветвления алгоритма. Поскольку enum — численный тип, в таких случаях возможно и необходимо использовать switch, а не раскидистые if else. Это позволяет компилятору проверить, что все варианты enum обработаны. Конечно же, без особых оснований (и комментария о них) не следует дописывать default: в каждый switch.

См. также правило G23 — возможно, вам и не нужен switch.


Особенности для Qt

Q1. Запись connect без макросов

По возможности надо уйти от старого формата записи

connect(&networkUserInfo, SIGNAL(error(ErrorAnswer)), this, SLOT(networkUserInfoError(ErrorAnswer)));

и использовать вызов connect с указателями на функции. Конечно, если такой вариант не будет приводить к сложным конструкциям.

Дело в том, что это позволит осуществлять проверку соответствия функций сигнала и слота на этапе компиляции.


См. полный список: CodingStyle/C/C++/MartinRules