LINUX.ORG.RU

Ответ на: комментарий от yoghurt

На истинно венгерской нотации

системной венгерской

jtootf ★★★★★ ()

>Как в соответсвии с общепризнанными конвенциями наименования


Этих «общепризнанных» как собак нерезаных :)

p_smartTable

p_SmartTable



pSmartTable
p_smart_table
...

KRoN73 ★★★★★ ()

Приватной переменной-члену класса: smartTable_
Публичноми или защищённому аццесору класса: smartTable
Локальной переменной метода: smartTable

Ну и, стоит ли говорить, что вместо просто smartTable желательно конкретизировать в зависимости от контекста, к примеру: SmartTable *leftSmartTable.

Dendy ★★★★★ ()

ИМХО именовать переменные нужно не в соответствии с типом данных, а в соответствии со смыслом этих переменных. Так что

SmartTable *sepulki;

Deleted ()
Ответ на: комментарий от Dendy

>smartTable_

Эти подчеркивания превращают код в нечитаемое говно. Лучше уже «m» вначале ставить.

simplex ()
Ответ на: комментарий от arsi

> на iso c99 в gcc/icc, например ;)

Хм, действительно. Но я все равно не вижу применения этому, всегда ненавидел '$' в начале переменных в некоторых языках.

rival ★★ ()

s - one hit S = shift+s - two hits

s > S

Jetty ★★★★★ ()

Я бы выбрал первый вариант. Я такое не юзаю вообще, но у меня обычно переменные называются с маленькой буквы, типы - с Большой. А тут название начинается только на слове smart, p_ - только приставка. Так что, второй вариант бы.

А ещё я члены класса называю member_, аргументы функций - _arg. Но это для себя. В реальном проекте приходится подстраиваться под прородителей.

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

Так чта... Сам панимаешь... Куда ни плюнь, везде волосатый олень уже потоптался.

kiverattes ★☆ ()
Ответ на: комментарий от anonymous

> Нет никаких общепризнанных конвенций

а как же женевские конвенции?

ACR ()
Ответ на: комментарий от rival

(=

Мне этот вариант тоже безумно не нравится. Но лучше, чем:

佞慧表 *一佞慧表;

Может не правильно написал, но кое-какие вариации компиляторов позволяют и такое.

Раньше бы написал:

SmartTable *pstSmartTable;

Сейчас:

smart_table *just_another_smart_table;

или

smart_table *table;

Венгерская нотация нравилась только два месяца, а потом всё же пришёл к выводу, что IDE позволяет обходиться и без этого. Слышал, что Торвальдс оооооооооооооооочень большой противник этого правила именования. В общем я только члены классов начинаю с «_». Стараюсь не именовать переменные также как и классы (обычно фантазия позволяет). И именую namespace как можно короче и понятнее. define использую редко, но если использую, то пишу всё капсом...Как-то так.

=)

m4n71k0r ()
Ответ на: комментарий от Begemoth

>> аццесору

Когда ж люди английский подучат, чтоб не так коряво слова заимствовать!?


Я честно пытался вспомнить хоть один русский аналог этого слова. Безуспешно. Как по-вашему правильно, «аццессор» или «ацесор» или «ацессор» или «метод-который-возвращает-параметр-класса»?

Dendy ★★★★★ ()

В соответствии с принятыми в проекте правилами.

JackyTreehorn ()
Ответ на: (= от m4n71k0r

> В одном из проектов, где я принимал участие, это могло бы выглядеть как:

ST *uk;


uk - указатель, все просто и понятно

xintrea ()
Ответ на: комментарий от xintrea

(=

В том проекте были ещё:

int *iuk;
void *ppuk;
char *uk, *puk, tc, *fuk, *feuk;

Да, просто и понятно =)

Неприятно только нарываться на код, вроде:

if (*ukt == '@')
{
  for (ukt = (char *) tname + 1, uktt = buftxt; *ukt != '@'; ++ukt)
  {
    if (*ukt == 0)
      return -1;
    if (*ukt == ';')
    {
      *uktt++ = 13;
      *uktt++ = 10;
      continue;
    }
    if (*ukt == '\'')
      *ukt = '"';
    *uktt++ = *ukt;
  }
  *uktt++ = 0;
  ukt++;
}

=)

m4n71k0r ()

pSmartTable.

А вообще обычно при создание проекта создается и такой документ как стандарт кодирования, где все это описывается.

Dudraug ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.