Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.10.17;
Скачать: [xml.tar.bz2];

Вниз

Какой идиот придумал писать букву 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.59 MB
Время: 0.005 c
2-1279637266
Xandr001
2010-07-20 18:47
2010.10.17
Помогите выбрать тип данных


2-1279809904
AlexDn
2010-07-22 18:45
2010.10.17
Положение MessageDlgPos


15-1279450570
Вася
2010-07-18 14:56
2010.10.17
Закрытие программы в delphi


2-1279900868
mc.fly
2010-07-23 20:01
2010.10.17
Как извлечь кол-во принятых отправленных байт у соединения?


15-1279090074
oldman
2010-07-14 10:47
2010.10.17
И никакой пользы для юзеров родной страны...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский