Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.10.17;
Скачать: CL | DM;

Вниз

Какой идиот придумал писать букву u перед pas модулями?   Найти похожие ветки 

 
имя   (2010-07-14 23:01) [40]

Удалено модератором


 
Leonid Troyanovsky ©   (2010-07-14 23:05) [41]

Удалено модератором


 
Кто б сомневался ©   (2010-07-15 00:03) [42]


> У нас это сделано, чтобы отделить движок от интерфейса.
>
> По папкам разбивать смысла не видно, префиксы самое то.


Как раз это наихудший вариант. Когда все свалено в одну папку - и модули движка, и остальные модули. Тем более в игростроении, где кол. модулей может зашкаливать.


 
Омлет ©   (2010-07-15 00:33) [43]

Пройдет еще много-много лет до того, как в Дельфи добавят поддержку пространств имен ))


 
RWolf ©   (2010-07-15 00:40) [44]


> Кто б сомневался ©   (14.07.10 17:15) [0]
> Часто попадаются исходники, с буквой u перед именем pas
> модуля.Главное зачем?

Очевидно же — названия юнитов находятся в том же пространстве имён, что и остальные глобальные идентификаторы, и, если не изобрести спецправило для их именования, будем то и дело натыкаться на коллизии имён переменных и модулей.


 
Омлет ©   (2010-07-15 00:45) [45]

> Anatoly Podgoretsky ©   (14.07.10 20:11) [18]

Волюнтаризм попрошу не обижать.


 
silver ©   (2010-07-15 01:03) [46]


> с префиксом *Form.pas

суффикс таки, ога


 
antonn ©   (2010-07-15 01:14) [47]


> Тем более в игростроении, где кол. модулей может зашкаливать.

не могу сказать что я суперигродел, но в несложной игрушке у меня 143 юнита с одним префиксом (не считая форм и "внедвижковых" юнитов) и в одной папке. И это удобнее чем они бы были в разных папках


 
Palladin ©   (2010-07-15 08:33) [48]

Идентификатор. Как много в этом слове. Как много их в программе. Сотни, тысячи. Спасает область видимости. Сокращает количество, доступных в конкретном месте, идентификаторов. Но область видимости не говорит о расположении и принадлежности идентификатора, а префикс прекрасно выполняет эту задачу. Встретив в 1452 строке 6734 строчного файла код:
m_fCurrentPrice := lcGetItemCostByID(p_nIDItem) * p_nCount * UCommon.gl_fCoeff;
мне сразу понятно, что:
1. Я в методе класса (ибо есть идентификатор с префиксом m_)
2. Вещественному полю класса m_fCurrentPrice присваивается стоимость, получаемая private методом lcGetItemCostByID (lc от слова local) этого же класса по, переданному в параметрах, ID итема p_nIDItem, умноженная на количество итемов, которое тоже передается в параметрах в переменной p_nCount, и умноженная на некий коэффициент, находящийся в глобальной переменной gl_fCoeff, которая в свою очередь находится в модуле UCommon.

А встретив строчку
FCurrentPrice := GetItemCostByID(IDItem) * Count * Common.Coeff;
я бы нихера бы не понял, и долго лазил по коду изучая откуда это все вообще берется. И что это за Common.

Ку?
И не надо мне тут про Ctrl-Click, это, хоть и удобно, но ущербно - ибо дисциплина кодирования портится.


 
Демо ©   (2010-07-15 09:25) [49]

Удалено модератором


 
antonn ©   (2010-07-15 09:25) [50]

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


 
RWolf ©   (2010-07-15 09:32) [51]


> Вещественному полю класса m_fCurrentPrice

не умаляя значимости сказанного, замечу только, что борландовский стиль кодирования предполагает обозначать поля классов первой буквой F, а параметры — буквой A.


 
Игорь Шевченко ©   (2010-07-15 10:19) [52]

Смотрите на Demos - источник знаний


 
Anatoly Podgoretsky ©   (2010-07-15 10:20) [53]

> Leonid Troyanovsky  (14.07.2010 22:55:39)  [39]

Это другое дело, это же не префикс, особенно u
Вообще венгров не люблю, они делают хороший гуляш и из программ тоже


 
Anatoly Podgoretsky ©   (2010-07-15 10:22) [54]

> Омлет  (15.07.2010 00:45:45)  [45]

Ну вот один говорит не упоминать (в нашем доме), другой вообще не обижать,
куда деться бедному татарину.


 
Anatoly Podgoretsky ©   (2010-07-15 10:22) [55]

> antonn  (15.07.2010 01:14:47)  [47]

Папки это логическое, а не физиологическое деление.


 
Anatoly Podgoretsky ©   (2010-07-15 10:23) [56]

> Palladin  (15.07.2010 08:33:48)  [48]

Тьфу на вас


 
Anatoly Podgoretsky ©   (2010-07-15 10:24) [57]

> Демо  (15.07.2010 09:25:49)  [49]

> Что меняется от того, что есть одинакого названные функции в разных
> модулях?

Появляются конфликты, иногда простые, а иногда очень сложные, когда голову
сломаешь прежде чем найдешь причину.


 
Anatoly Podgoretsky ©   (2010-07-15 10:25) [58]

> antonn  (15.07.2010 09:25:50)  [50]

Модули тоже подвластны конфликтам, тот же RX


 
Anatoly Podgoretsky ©   (2010-07-15 10:26) [59]

> RWolf  (15.07.2010 09:32:51)  [51]

А знаешь почему, и это совсем другая цель, в отличии от пропагадируемой
сейчас религии.


 
Юрий Зотов ©   (2010-07-15 10:30) [60]

Действительно - и какой идиот придумал венгерскую нотацию? Это же неважно, что в свое время практически весь мир признал ее удобной.

Подумаешь - весь мир, ерунда какая. Если весь мир признал - значит, и весь мир тоже идиоты. Кто б сомневался.

==================

Всегда интересовал вопрос - почему при таком огромном количестве гениальных программистов до сих пор мы используем буржуйский софт, а не наоборот?


 
Anatoly Podgoretsky ©   (2010-07-15 10:39) [61]

> Юрий Зотов  (15.07.2010 10:30:00)  [60]

Что тоже венгры виноваты?


 
Юрий Зотов ©   (2010-07-15 11:05) [62]

Делаем форму, как-то осмысленно ее называем. Логично было бы сохранить ее модуль под тем же именем - но не получится, IDE не разрешает. Тогда именуем модуль "uИмяФормы" - и все становится прекрасно.

Но придумал это, конечно же, идиот. Кто б сомневался?


 
KilkennyCat ©   (2010-07-15 11:19) [63]

у меня чаще всего всегда на У начинается. Унит1, Унит2 и т.д.


 
sniknik ©   (2010-07-15 11:23) [64]

> у меня чаще всего всегда на У начинается. Унит1, Унит2 и т.д.
пиши уж без сокращений - Унитаз1, Унитаз2 и т.д. ;)

только как тут быть с осмысленностью? если например форма/модуль хочется назвать "ванна"?


 
Плохиш ©   (2010-07-15 12:13) [65]


> при таком огромном количестве гениальных программистов

Хм, а можно цифры озвучить?


 
KilkennyCat ©   (2010-07-15 12:16) [66]


> sniknik ©   (15.07.10 11:23) [64]

гм... однако, ты прям телепат... я тут подумывал о варианте уйти работать сантехником.


 
Юрий Зотов ©   (2010-07-15 12:20) [67]

> Плохиш ©   (15.07.10 12:13) [65]
> Хм, а можно цифры озвучить?

Можно. Это каждый второй посетитель "мастаков" со стажем программирования от 2 до 3 лет.
:o)


 
Leonid Troyanovsky ©   (2010-07-15 12:20) [68]


> Anatoly Podgoretsky ©   (15.07.10 10:39) [61]

> Что тоже венгры виноваты?

- Плохо, брат, ты мадьяров знаешь, сколько раз я тебе говорил!
С ними мы должны ухо держать востро.

--
Regards, LVT.


 
Плохиш ©   (2010-07-15 12:30) [69]


> Юрий Зотов ©   (15.07.10 12:20) [67]

A, понятно :-)


 
RWolf ©   (2010-07-15 13:38) [70]

> Anatoly Podgoretsky ©   (15.07.10 10:26) [59]
> А знаешь почему, и это совсем другая цель, в отличии от пропагадируемой
сейчас религии.


Почему?


 
Empleado ©   (2010-07-15 14:01) [71]

Эх, в отпуск бы вас всех отправить, ну ей богу...


 
Anatoly Podgoretsky ©   (2010-07-15 14:29) [72]

> RWolf  (15.07.2010 13:38:10)  [70]

Потому что другая


 
MonoLife ©   (2010-07-15 15:23) [73]

обычно, обзываю файлы unit_u если модуль без формы и unit_f - если с формой..
А в именах форм ставлю всегда первой f..
Привык так и отвыкать не охота)


 
имя   (2010-07-15 18:35) [74]

Удалено модератором


 
Jeer ©   (2010-07-15 19:46) [75]

Удалено модератором



Страницы: 1 2 вся ветка

Текущий архив: 2010.10.17;
Скачать: CL | DM;

Наверх




Память: 0.62 MB
Время: 0.012 c
15-1279321281
_Eraser
2010-07-17 03:01
2010.10.17
Администрации. Опять проблемы с анкетами


2-1280119066
Spot
2010-07-26 08:37
2010.10.17
Ошибка в Locate


15-1279224449
AKE
2010-07-16 00:07
2010.10.17
Какие есть книги по 3d графике?


8-1206912479
Незнайка
2008-03-31 01:27
2010.10.17
склеивание изображения


10-1168197003
IMHO
2007-01-07 22:10
2010.10.17
Call was rejected by callee