Грамматика и орфография в коде
Все наверно знают что в программировании есть негласные правла написания кода, вот о них и хочу поговорить
например: принято делать отступы для каждого нового цикла, блока "если" да и вабще для любой операции которая подразумевает подоперации Код:
if ... { expression1 } then PHP код:
переменные многие называют с буквы f (fCount), типы с буквы T (TMyType), указатели с буквы p (pCount), конструкторы Create а деструкторы Destroy. Если имена переменных вы составляете из словосочетаний то разделяйте слова заглавными буквами fMyFirstCounterForThisUnit. Функции для получения значения называйте с Get, а процедуру для задания значения с Set function GetMyFirstCounterForThisUnit() procedure SetMyFirstCounterForThisUnit() имена всем переменным и функциям старайтесь давать осмысленные и полные. Вместо fCS лучше fContrStrike Старайтесь писать комментарии ко всему что пишете. Если вы работаете над кодом не один, и переиодически вносите изменения можно в комментарии добавлять дату и фамилию, потом обчным ctrl+F можно отследить все изменения в коде Кто еще знает какие нить хитрости, поделитесь. Общие для всех языков или для конкретных не важно, пишите. |
Re: Грамматика и орфография в коде
Пишу несколько лет на C#.
у нас в компании принято: private member - с префиксом m_ static member - с префиксом s_ необходимость в методах get/set отпадает, т.к. существуют property, например (правда часто используем, когда метод get/set выходит большим, чтоб ошибочно не вызывать его в цикле): Код:
public static AddOnsManager Instance Правила именования namespace - название продукта, затем разделение по файловой структуре - в будущем будет гораздо меньше проблем с sourceSafe-ом. |
Использование соглашений об именах
По мере написания программы вам приходится создавать переменные и объекты, которые требуют присвоения имен. Вы можете задавать любые имена, однако при этом рекомендуется придерживаться ряда общепринятых соглашений.
Соглашение об именах называют набор правил, в которых описывается структура имен переменных и объектов. Одним из хороших правил является использование в именах префиксов, указывающих на тип переменной или объекта. При этом можно использовать следующий синтаксис: классИмя_объекта где класс - трехсимвольный префикс, указывающий на тип объекта или переменной, Имя_объекта - описательное имя. Обратите внимание на регистр символов в этой конструкции: класс - здесь используются символы из нижнего регистра; Имя_объекта - здесь первая буква каждого слова выделяется верхним регистром. Например Венгерское соглашение использует следующие префиксы: Переменные byt - байт int - короткий целочисленный sng - короткий с плавающей точкой lng - длинный целочисленный dbl - длинный с плавающей точкой txt - текстовый cur - вылютный dtm - даты / времени boo - булев Объекты tbl - таблица qry - запрос frm - форма rpt - отчет chk - флажок cbo - комбинированный список cmd - командная кнопка lbl - метка lst - обычный список opt - переключатель sub - процедура / подформа / подотчет txt - текстовое поле Зачем нужна такая сложная схема именования? Самое важное, вы всегда с первого взгляда сможете определить, с данными или объектом какого типа вы имеете дело, а это значит довольно многое при отладке или сборке больших программ. Да и для других, при работе в группе, листинг программы будет более читаем. |
Re: Грамматика и орфография в коде
Пишу на C++. Использую префиксы означающие тип данных
dw - DWORD lp - указатель s - для строк l - long ul - unsigned long и т.д. Очень помогает Visual Assist (для Visual Studio). В нем еще и проверка орфографии встроена, так что и в коментариях и в тексте выводимых сообщений можно проводить проверку русского или английского языка. Считаю правилом хорошего тона писать код грамотный не только с точки зрения программирования |
Re: Грамматика и орфография в коде
Грамотные комментарии - половина кода. Надо думать и о кодере, которому придется читать Ваш исходник. Особенно, если этот кодер Вы сами ;)
Не стесняйтесь разделять логические блоки кода пустыми строчками. Самое главное, стараться следовать изначально выбранной парадигме программирования. Упаковывать весь функционал программы в один класс не есть гут. Существует еще много "тонких" моментов. Навроде избегания инструкций GO TO (конечно, если вы пишите не в q-бейсике ;) ). |
Re: Грамматика и орфография в коде
На самом деле, кроме того, что приведено Overlord'ом, в первом посте ничего и не нужно(просто нужно это грамотно соблюдать), а остальное уже относиться уже к этому:
Цитата:
|
Re: Грамматика и орфография в коде
Интересно сделано в Python. Структуры условные, циклы -- в них иерархия вложения обязательно, как я понял, осуществляется отступами ))
Пример: def perm(l): # Compute the list of all permutations of l f len(l) <= 1: return [l] r = [] for i in range(len(l)): s = l[:i] + l[i+1:] p = perm(s) for x in p: r.append(l[i:i+1] + x) return r |
Re: Грамматика и орфография в коде
Господа, раз уж речь о грамматике и орфографии:
Тем, кому приходилось разбирать чужие коменты проекта на >3к строк - разве не риятно читать односмысленные предложения написанные "нефурсенковским" русским языком. например, мне доставалось: Цитата:
|
Re: Грамматика и орфография в коде
ne-ai, если бы там было написано языком Л.Толстого
Цитата:
|
Re: Грамматика и орфография в коде
Даже эстетически стало бы, не считая того, что этот товарисЧЪ сдал проект и исчез из поля зрения орг-ии.
2 4айник видимо мы не поняли друг друга) - парень этот не сделал (и не собирался) реализацию фейса И все равно - приятнее читать текст, где изложено все точно, без грам. ошибок и смысловых неурядиц. |
Часовой пояс GMT +3, время: 14:59. |
Работает на vBulletin® версия 3.8.12 by vBS.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot