Соглашение об оформлении кода

14 views
Skip to first unread message

Drake

unread,
Sep 9, 2011, 6:35:05 AM9/9/11
to qbalance
Я так понял, что у каждого из нас свои собственные представления о
"правильности" оформления кода.
Выработав соглашение об оформлении, мы все упростим себе жизнь.
Начнём с того, что каждый из нас перечислит свои привычки отдельным
сообщением.

Vladimir

unread,
Sep 9, 2011, 12:14:25 PM9/9/11
to qbalance
Особых предпочтений нет. Давайте выбирать, готов подстроиться.

Drake

unread,
Sep 12, 2011, 1:34:22 PM9/12/11
to qbalance
Далее - часть моих личных привычек и соглашений. Базовая.

Имена
Имя не может начинаться с символа <<_>>.
Сокращения -- зло, за исключением общепринятых аббревиатур. Во всех
случаях лучше стараться давать максимально подробные имена переменным,
методам и классам.
Не стоит использовать венгерскую нотацию, добавляя упоминание о
типе в имя переменной. Среда всегда подскажет тип, плюс, строгая
типизация не позволит спутать переменные разных типов.
Переменные именуются строчными буквами, элементы имени переменной
разделяются символом <<_>>.
Имя класса получает префикс, как правило, T. Таким образом, название
класса складывается из описательного названия (например, Table) и
префикса (то есть TTable). Использование префикса позволяет четко
разграничить все случаи использования класса и объекта.
Члены классов именуются в Camel Case, причем - поля в Upper Camel
Case, методы - в Lower Camel Case. Не допускается разделение элементов
имени члена класса какими бы то ни было символами.

Переменные
Всякий раз, когда вы используете глобальную переменную - умирает
котёнок.
Всякий раз, когда вы используете #DEFINE для определения константы -
умирает котёнок.
Глобальные переменные и константы можно и нужно объявлять либо через
статические члены класса, либо через enum. Это упрощает систему
именования в коде, и позволяет упростить процедуру отладки, уменьшает
вероятность конфликтов имён. Оставим дефайны для условной компиляции.

Блоки
С блоками всё очень просто - используй их всегда, даже для
однострочных обработчиков условий. Даже для однострочных форов.
Всегда. Правило без исключения проще запомнить.

Drake

unread,
Sep 13, 2011, 11:24:27 AM9/13/11
to qbalance
И еще я таки настаиваю на англоязычных названиях таблиц, представлений
и прочих элементов бд.
Напрягает переключать кодировку. Напрягает гадать, что мне там пгадмин
говорит непонятным набором символов.

Vladimir

unread,
Sep 14, 2011, 12:58:11 AM9/14/11
to qbalance
С оформлением кода все понятно. Пусть будет так. Насчет русскоязычных
наименований - от них можно избавиться, когда мы полностью устраним
зависимость кода ядра от БД, т.е. когда все же выделим всю работу с БД
в отдельный модуль.

Vladimir

unread,
Sep 14, 2011, 8:18:17 AM9/14/11
to qbalance
Пока предлагаю создать в DBFactory функцию, которая будет
транслировать имена таблиц и столбцов из какого-то условного названия
в ядре в конкретное название, которое используется на сервере с тем,
чтобы мы потом легко могли поменять наименования таблиц, просмотров и
их столбцов (и функцию в ядре, либо загрузить таблицу трансляции и
сервера), а ядро об этом даже и не знало. Русскоязычный вариант
предлагаю оставить как альтернативу, может кому-нибудь потом он
понадобится.

Drake

unread,
Sep 16, 2011, 5:41:09 AM9/16/11
to qbalance
Это, однозначно, очень долговременный план. Потом можно будет сделать,
сейчас сгодится, что есть.
Reply all
Reply to author
Forward
0 new messages