- PVSM.RU - https://www.pvsm.ru -
Привет, читатели!
Сейчас какой-то спец с многолетним опытом работы с Qt подумал: «Что за фигня? Хабр — для вещей покруче!». Но ведь даже спецам с многолетним опытом иногда надо читать вот такие статьи про простые вещи, ведь это — важно. Код — это одна из самых важных составляющих программирования. А наша задача — держать его в чистоте. Эта статья посвящена всем Qt программистам которые стремятся к идеалу.
Конечно есть статья на Qt Project — Qt Coding Style [1]. Только вот там материала ценного меньше,
В Qt принято использовать отступы по 4 пробела. Но именно 4, и именно пробела. Использовать t или другую ширину пробелов считается ужасно плохим тоном и жестоко карается.
Один из самых важных постулатов, так как определяет читабельность и общий стиль кода. Правила объявления переменных собраны в такой список:
Пробелы — очень важный элемент форматирования исходного кода. Он отыгрывает очень большую роль в читабельности кода.
Скобки — это вообще отдельная тема. Они, как и пробелы, отыгрывают львиную долю во внешнем виде и читабельности кода
Используйте круглые скобки чтобы группировать выражения:
// Неправильно
if (a && b || c)
if(a + b & c)
// Правильно
if ((a && b) || c)
if((a + b) & c)
Безусловно, эти условия причина многих дискуссий со стороны разработчиков и создателей Coding Guidelines — там может быть очень много различных вариантов. Однако Qt предлагает именно такой вариант:
Часто происходит следующее: есть разработчик Вася с большим монитором. Он пишет себе код спокойно. Потом этот код открывает разработчик Петя, с ноутбуком, и прозревает — ему приходится много скроллить чтобы прочитать весь код. Это один из дефектов читабельности. Что же предлагает Qt для спасения?
В этом постулате все предельно просто — главное не писать `virtual` перед названием переопределяемого метода в .h файле.
// Неправильно
class MyWidget : public QWidget
{
...
protected:
virtual void keyPressEvent(QKeyEvent *);
// Правильно
class MyWidget : public QWidget
{
...
protected:
void keyPressEvent(QKeyEvent *);
Этот постулат гласит нам, что нет ничего плохого если вы нарушите какое-то правило, но только в том случае, если оно делает ваш код уродливым. Это хороший пример того, что у всех правил есть исключения, и того, что правила созданы чтобы их нарушать.
К сожалению, я не смог найти примера, когда Qt Coding Guidelines делают код — уродливым.
Боюсь что это конец моей статьи про стиль написания кода в Qt. Еще раз напомню что только он котируется для контрибьютинга в Qt, так что если вы собираетесь внести свою лепту в развитие проекта, вам так или иначе придется использовать эти постулаты, но не забывайте — правила можно нарушать:).
Для меня — Qt Coding Style просто идеальный стиль для написания кода. Я считаю его чистым, удобным, приятным. За все время его использования у меня не возникло никаких проблем с читабельностью кода. Буду ли я его рекомендовать? Конечно, да! Тем более, я считаю что именно его и надо пропагандировать всем новичкам на платформе Qt.
Спасибо за внимание.
Автор: namespace
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/13908
Ссылки в тексте:
[1] Qt Coding Style: http://qt-project.org/wiki/Qt_Coding_Style
Нажмите здесь для печати.