Форум SoftWeb.ru

Форум SoftWeb.ru (https://softweb.ru/index.php)
-   Языки программирования (https://softweb.ru/forumdisplay.php?f=261)
-   -   Грамматика и орфография в коде (https://softweb.ru/showthread.php?t=10558)

Overlord 25.05.2006 11:27

Грамматика и орфография в коде
 
Все наверно знают что в программировании есть негласные правла написания кода, вот о них и хочу поговорить

например:
принято делать отступы для каждого нового цикла, блока "если" да и вабще для любой операции которая подразумевает подоперации
Код:

if ... { expression1 } then
  if ... { expression2 } then
    ... { statement1 }
  else
    ... { statement2 } ;

PHP код:

if($name='user'){
   echo 
$name;
   for (
$i 1; ; $i++) {
       if (
$i 10) {
           break;
       }
   }


вот скажем в delphi
переменные многие называют с буквы f (fCount), типы с буквы T (TMyType), указатели с буквы p (pCount), конструкторы Create а деструкторы Destroy. Если имена переменных вы составляете из словосочетаний то разделяйте слова заглавными буквами fMyFirstCounterForThisUnit. Функции для получения значения называйте с Get, а процедуру для задания значения с Set

function GetMyFirstCounterForThisUnit()
procedure SetMyFirstCounterForThisUnit()

имена всем переменным и функциям старайтесь давать осмысленные и полные. Вместо fCS лучше fContrStrike
Старайтесь писать комментарии ко всему что пишете. Если вы работаете над кодом не один, и переиодически вносите изменения можно в комментарии добавлять дату и фамилию, потом обчным ctrl+F можно отследить все изменения в коде

Кто еще знает какие нить хитрости, поделитесь. Общие для всех языков или для конкретных не важно, пишите.

mzhilochkin 05.06.2006 17:56

Re: Грамматика и орфография в коде
 
Пишу несколько лет на C#.
у нас в компании принято:
private member - с префиксом m_
static member - с префиксом s_
необходимость в методах get/set отпадает, т.к. существуют property, например (правда часто используем, когда метод get/set выходит большим, чтоб ошибочно не вызывать его в цикле):
Код:

public static AddOnsManager Instance
{
  get
  {
    if (s_instance == null)
      s_instance = new AddOnsManager();

    return s_instance;   
  }
}
private static AddOnsManager s_instance;

Классы всегда начинаются с большой буквы, причём название должно быть именем существительным; интерфейсы - с буквы I.
Правила именования namespace - название продукта, затем разделение по файловой структуре - в будущем будет гораздо меньше проблем с sourceSafe-ом.

IvanLis 05.08.2006 11:57

Использование соглашений об именах
 
По мере написания программы вам приходится создавать переменные и объекты, которые требуют присвоения имен. Вы можете задавать любые имена, однако при этом рекомендуется придерживаться ряда общепринятых соглашений.

Соглашение об именах называют набор правил, в которых описывается структура имен переменных и объектов.

Одним из хороших правил является использование в именах префиксов, указывающих на тип переменной или объекта. При этом можно использовать следующий синтаксис:
классИмя_объекта
где класс - трехсимвольный префикс, указывающий на тип объекта или переменной, Имя_объекта - описательное имя. Обратите внимание на регистр символов в этой конструкции:
класс - здесь используются символы из нижнего регистра;
Имя_объекта - здесь первая буква каждого слова выделяется верхним регистром.

Например Венгерское соглашение использует следующие префиксы:
Переменные
byt - байт
int - короткий целочисленный
sng - короткий с плавающей точкой
lng - длинный целочисленный
dbl - длинный с плавающей точкой
txt - текстовый
cur - вылютный
dtm - даты / времени
boo - булев

Объекты
tbl - таблица
qry - запрос
frm - форма
rpt - отчет
chk - флажок
cbo - комбинированный список
cmd - командная кнопка
lbl - метка
lst - обычный список
opt - переключатель
sub - процедура / подформа / подотчет
txt - текстовое поле

Зачем нужна такая сложная схема именования? Самое важное, вы всегда с первого взгляда сможете определить, с данными или объектом какого типа вы имеете дело, а это значит довольно многое при отладке или сборке больших программ.
Да и для других, при работе в группе, листинг программы будет более читаем.

MarVal 05.11.2006 12:12

Re: Грамматика и орфография в коде
 
Пишу на C++. Использую префиксы означающие тип данных
dw - DWORD
lp - указатель
s - для строк
l - long
ul - unsigned long
и т.д.

Очень помогает Visual Assist (для Visual Studio). В нем еще и проверка орфографии встроена, так что и в коментариях и в тексте выводимых сообщений можно проводить проверку русского или английского языка. Считаю правилом хорошего тона писать код грамотный не только с точки зрения программирования

HikariNokami 11.12.2006 22:28

Re: Грамматика и орфография в коде
 
Грамотные комментарии - половина кода. Надо думать и о кодере, которому придется читать Ваш исходник. Особенно, если этот кодер Вы сами ;)

Не стесняйтесь разделять логические блоки кода пустыми строчками.

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

Существует еще много "тонких" моментов. Навроде избегания инструкций GO TO (конечно, если вы пишите не в q-бейсике ;) ).

illid@n 22.12.2006 17:04

Re: Грамматика и орфография в коде
 
На самом деле, кроме того, что приведено Overlord'ом, в первом посте ничего и не нужно(просто нужно это грамотно соблюдать), а остальное уже относиться уже к этому:

Цитата:

Сообщение от Overlord (Сообщение 69874)
имена всем переменным и функциям старайтесь давать осмысленные и полные.


msatep 06.01.2009 21:59

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

ne-ai 28.10.2009 23:03

Re: Грамматика и орфография в коде
 
Господа, раз уж речь о грамматике и орфографии:
Тем, кому приходилось разбирать чужие коменты проекта на >3к строк - разве не риятно читать односмысленные предложения написанные "нефурсенковским" русским языком.
например, мне доставалось:
Цитата:

/*ета надо доделать
*
~~~
*биру бабки пузть ктонить ченить тока скажет
*/

4айник 29.10.2009 06:33

Re: Грамматика и орфография в коде
 
ne-ai, если бы там было написано языком Л.Толстого

Цитата:

{ Здесь пока ничего не работает. Утром деньги, вечером заработает. Но деньги вперед. }
то тебе бы от этого стало бы легче?

ne-ai 30.10.2009 01:45

Re: Грамматика и орфография в коде
 
Даже эстетически стало бы, не считая того, что этот товарисЧЪ сдал проект и исчез из поля зрения орг-ии.
2 4айник
видимо мы не поняли друг друга) - парень этот не сделал (и не собирался) реализацию фейса
И все равно - приятнее читать текст, где изложено все точно, без грам. ошибок и смысловых неурядиц.


Часовой пояс GMT +3, время: 14:59.

Работает на vBulletin® версия 3.8.12 by vBS.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot