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

Вниз

Самые распространенные дельфийские заблуждения   Найти похожие ветки 

 
Leonid Troyanovsky ©   (2007-11-11 02:12) [40]


> Petr V. Abramov ©   (11.11.07 02:05) [38]

> в чем сложность?
> критерий сложности?

В [0] было еще etc. Подразумевалось, например,
сборка обоих с рантайм-пакетами, ну, или, еще какие
трюки, как импорт интерфейсов и т.д.

Т.е., если у тебя etc., то можно спать спокойно.

--
Regards, LVT.


 
Petr V. Abramov ©   (2007-11-11 02:18) [41]

> Leonid Troyanovsky ©   (11.11.07 02:12) [40]
спать не хочу, насчет  etc. согласен, но формулировка в 2. в [36] под сабж подходит, а в [0] - нет.


 
Leonid Troyanovsky ©   (2007-11-11 02:19) [42]


> Германн ©   (11.11.07 02:03) [37]

> А кто сказал, что будет легко?

Оказалось, что требования компактности более требовательны :)
Ну, ничего, будем думать о критериях.

И, с другой стороны, более общие утверждения (заблуждения)
менее информативны, как бы не скатиться на философию.

--
Regards, LVT.


 
guav ©   (2007-11-11 02:21) [43]

Не знаю как это сформулировать:
Если функция кидает исключение в каком-либо случае, необходимо защитить её вызов блоком try..except, вроде:
try
 LoadFromFile(OpenDialog1.FileName);
except
 ShowMessage("Файл не найден");
end;


 
Leonid Troyanovsky ©   (2007-11-11 02:23) [44]


> Petr V. Abramov ©   (11.11.07 02:18) [41]

> спать не хочу, насчет  etc. согласен, но формулировка в
> 2. в [36] под сабж подходит, а в [0] - нет.

Ну, так и поэтому я к общественности обратился,
чтоб побыстрее избавиться от заблуждений :)

А спать уже пора бы.
Вот только попробую сейчас список пересобрать.

--
Regards, LVT.


 
Германн ©   (2007-11-11 02:24) [45]


> Leonid Troyanovsky ©   (11.11.07 02:19) [42]
>
>
> > Германн ©   (11.11.07 02:03) [37]
>
> > А кто сказал, что будет легко?
>
> Оказалось, что требования компактности более требовательны
> :)
> Ну, ничего, будем думать о критериях.
>
> И, с другой стороны, более общие утверждения (заблуждения)
> менее информативны, как бы не скатиться на философию.

Понял суть твоего последнего слова "философия"
:-)


 
Anatoly Podgoretsky ©   (2007-11-11 02:24) [46]

> guav  (11.11.2007 01:51:27)  [27]

Это Пушкин виноват.


 
Германн ©   (2007-11-11 02:28) [47]


> guav ©   (11.11.07 02:21) [43]
>
> Не знаю как это сформулировать:
>

Недопустимо использовать блок try..except в виде:
try
 DoSomething;
except
end;

Т.е. с "пустым" блоком except.


 
guav ©   (2007-11-11 02:32) [48]

> [47] Германн ©   (11.11.07 02:28)

нет не то чтобы недопустимо, ... кажется созрела формулировка:

N. Обрабатывать безусловно все исключения в максимальной близости к месту их возникновения является хорошей практикой обработки ошибок.


 
Anatoly Podgoretsky ©   (2007-11-11 02:34) [49]

> Германн  (11.11.2007 02:28:47)  [47]

Формулировка не удачная, надо что то типа - пустой блок помогает пользователям или делает программу надежной, поскольку нет сообщений об ошибках.


 
Anatoly Podgoretsky ©   (2007-11-11 02:35) [50]

> guav  (11.11.2007 02:32:48)  [48]

Ну мы же не таблицу как правильно делать составляем, а список именно заблуждений, даже не ошибок.

Иконка в трее признак классного программиста.


 
Petr V. Abramov ©   (2007-11-11 02:36) [51]

навеяно [43]
прошу не рассматривать не как четкое определение заблуждения, а, скорее, как описание
перехват исключений при работе с базой делает сообщения об ошибках более информативными для юзера и для саппорта

try
 StoredProc456.execute
except
 ShowMessage("ашипка")
end;

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

частный случай философии - не маскировать ошибки


 
Leonid Troyanovsky ©   (2007-11-11 02:38) [52]

Hi, All!

Вот, очередная бета:

1. Delphi - это просто
2. Запуздырить иконку туда где часики - круто.
3. Если существует переменная Form1, то ее надо пользовать.
4. Деструктор обнуляет ссылку на объект.
5. DBGrid есть данные и с ними можно работать.
6. Свойство RecordCount возвращает количество записей.
7. Целесообразно разбивать приложения на exe и dll.
8. Можно передавать любые классы в/из dll, в т.ч. исключения Delphi.
9. Разность двух дат может быть представлена в годах, месяцах и днях.
10. За создание объектов и выделение памяти отвечает Пушкин

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

--
Regards, LVT.


 
Johnmen ©   (2007-11-11 02:42) [53]


> 10. За создание объектов и выделение памяти отвечает Пушкин

Думаю этот важный пункт надо поднять повыше.


 
Petr V. Abramov ©   (2007-11-11 02:42) [54]

> Leonid Troyanovsky ©   (11.11.07 02:38) [52]
> 10. За создание объектов и выделение памяти отвечает Пушкин
а в Маскве - Грибоедов :)


 
{RASkov}   (2007-11-11 02:42) [55]

Вот еще некоторые из заблуждений:
главная форма - это окно приложения;
есть частые заблуждения в понятиях ссылка на объект, объект и класс(или переменная, экземпляр класса и класс);
TA = array [Byte] of Byte и TB = array [Byte] of Byte; - разные типы;
....


 
Daemmerung   (2007-11-11 02:45) [56]

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

При обсуждении неких распространённых ошибок - они, наверное могут быть причисленны к заблуждениям, т.к. - распространённые. Заблуждаться могут даже мастера, хорошо знающие предмет. Всё дело в том, что так называемые заблуждения часто носят характер самых простейших ошибок. При этом эти ошибочные решения кажутся настолько очевидными и не требующими особых раздумий, что принимаются за аксиомы: именно поэтому они и являются заблуждениями. Ну и, разумеется, некоторые аксиомы становятся со временем не дейтвительными, к примеру:
  невозможно создать простейшую игрушку на языке высокого уровня с использованием динамической графики без перехода на машинные коды (здесь следует учесть, что это могло говориться в 80х годах и в первой половине 90х). Понятно, что теперь это высказывание является заблуждением и таких заблуждений существует, наверное, не мало.


 
Германн ©   (2007-11-11 02:46) [57]


> Anatoly Podgoretsky ©   (11.11.07 02:34) [49]

Ну да. Типичное смещение акцентов.
В пылу "борьбы с дураками" забыл о сути сабжа.


 
guav ©   (2007-11-11 02:47) [58]

> [52] Leonid Troyanovsky ©   (11.11.07 02:38)

Хорошая подборка.
Я предлагаю сохранить имеющиеся формулировки как есть, возможно добавить новые, но такие же краткие.


 
{RASkov}   (2007-11-11 02:48) [59]

Тогда есть и такое:
Чем меньше размер екзэшника, тем круче программа


 
{RASkov}   (2007-11-11 02:49) [60]

F1 - туфта. Дайте мне нормальный источник знаний....)


 
Daemmerung   (2007-11-11 02:51) [61]


> {RASkov}   (11.11.07 02:48) [59]
> Тогда есть и такое:
> Чем меньше размер екзэшника, тем круче программа

Вот, как раз тот, случай, когда со временем важный принцип превращается в заблуждение:)


 
Германн ©   (2007-11-11 02:53) [62]


> Daemmerung   (11.11.07 02:45) [56]
>
> Идея на счёт заблуждений не плохая, но и не новая. Однако,
>  к сожалению, эта тема скатилась в банальный стэб. Очень
> уж сильно старается господин ник(Германн)

Спасибо за рекламу. Но чек на оплату вышеуказанной подписывать не собираюсь!
И вообще. Инстинктивно отношусь с неким негативом к "немецким" никам!
:-)
P.S. Некоторые, конечно, могут упрекнуть меня по поводу моего ника. Но это их собственная проблема.
:-)


 
Petr V. Abramov ©   (2007-11-11 02:53) [63]

> Leonid Troyanovsky ©   (11.11.07 02:38) [52]
> 7. Целесообразно разбивать приложения на exe и dll.
А что, нецелесообразно?
Целесообразно часто бывает, и все механизмы для этого в дельфи есть, по крайней мере, в 3-7-ке были, их что, убрали? :)
Считаю, что пункт убрать


 
Daemmerung   (2007-11-11 02:54) [64]


> RASkov}   (11.11.07 02:49) [60]
> F1 - туфта. Дайте мне нормальный источник знаний....)

Это не заблуждение - это рэкет.


 
Leonid Troyanovsky ©   (2007-11-11 02:55) [65]

Пока обойдемся без номеров

Иконка в трее - признак классного программиста.
За создание объектов и выделение памяти отвечает Пушкин.
Если существует переменная Form1, то ее надо пользовать.
Деструктор обнуляет ссылку на объект.
В DBGrid есть данные, а RecordCount возвращает количество записей.
Целесообразно разбивать приложения на exe и dll, и между ними  можно передавать любые классы.
Обрабатывать исключения надо для того, чтобы не пугать юзера
Разность двух дат может быть представлена в годах, месяцах и днях.

Итак, есть две резервные позиции.

Пункт первый считаю избыточным, потому как обратившийся
к этому списку уже его (пункт) приемлет.

--
Regards, LVT.


 
{RASkov}   (2007-11-11 02:58) [66]

> [64] Daemmerung   (11.11.07 02:54)
> Это не заблуждение - это рэкет.

Заблуждение было до первой точки... потом уже рэкет :)


 
Petr V. Abramov ©   (2007-11-11 03:01) [67]

> Leonid Troyanovsky ©   (11.11.07 02:55) [65]
> Обрабатывать исключения надо для того, чтобы не пугать юзера
Обрабатывать исключения надо для того, чтобы никто не догадался, какая  ошибка произошла в  системе или в базе.


 
Leonid Troyanovsky ©   (2007-11-11 03:05) [68]


> {RASkov}   (11.11.07 02:49) [60]

> F1 - туфта. Дайте мне нормальный источник знаний....)

Попробуем так:
Для классного программиста хелп не указ, а мсдн - не догма.

Дадим, пока, первое место.


> Petr V. Abramov ©   (11.11.07 02:53) [63]

> > 7. Целесообразно разбивать приложения на exe и dll.
> А что, нецелесообразно?

Усилим:
Можно смело делить приложение на exe  & dll и передавать между ними классы.

--
Regards, LVT.


 
{RASkov}   (2007-11-11 03:06) [69]

> а RecordCount возвращает количество записей.

А что же он возвращает, как не кол-во записей? Даже простой перевод говорит о кол-ве записей
Или этот RecordCount непосредственно, "в данном заблуждении", "завязан" с DBGrid"ом?


 
Petr V. Abramov ©   (2007-11-11 03:06) [70]

Leonid Troyanovsky ©   (11.11.07 02:55) [65]
N. Разбивать приложения на exe и dll очень просто, потому что между ними  можно передавать любые классы.
N+1. Разбивать систему на exe и dll вообще не надо, потому что N


 
Petr V. Abramov ©   (2007-11-11 03:08) [71]

> Petr V. Abramov ©   (11.11.07 03:06) [70]
N. Разбивать приложения на exe и dll очень просто, потому что между ними  можно передавать любые классы, особенно при нелюбви к runtime-пакетам
N+1. Разбивать систему на exe и dll вообще не надо, потому что N


 
Leonid Troyanovsky ©   (2007-11-11 03:10) [72]


> Petr V. Abramov ©   (11.11.07 03:06) [70]

> N. Разбивать приложения на exe и dll очень просто, потому
> что между ними  можно передавать любые классы.
> N+1. Разбивать систему на exe и dll вообще не надо, потому
> что N

Со вторым не согласен, бо кто это постиг, не будет
читать этот список :)

--
Regards, LVT.


 
Германн ©   (2007-11-11 03:10) [73]


> Разность двух дат может быть представлена в годах, месяцах
> и днях.

Разность двух дат легко и всегда однозначно может быть представлена в годах, месяцах и днях.


 
Petr V. Abramov ©   (2007-11-11 03:11) [74]

Petr V. Abramov ©   (11.11.07 03:01) [67]
Обрабатывать исключения надо для того, чтобы никто не догадался, какая  ошибка произошла в  системе или в базе, и что при этом никто не заподозрит, что про try... except Вы услышали только вчера.


 
Petr V. Abramov ©   (2007-11-11 03:13) [75]

> Leonid Troyanovsky ©   (11.11.07 03:10) [72]
[70] - это бета [71] :)


 
Leonid Troyanovsky ©   (2007-11-11 03:16) [76]


> {RASkov}   (11.11.07 02:48) [59]

> Чем меньше размер екзэшника, тем круче программа

Малый размер exe, иконка в трее и защита программы - главное для классного программиста.

--
Regards, LVT.


 
Германн ©   (2007-11-11 03:17) [77]


> {RASkov}   (11.11.07 03:06) [69]
>
> > а RecordCount возвращает количество записей.
>
> А что же он возвращает, как не кол-во записей?

Зависит от атмосферного давления, температуры воздуха, возраста бабушки соседа слева и т.п.
В справке читай подробности. Есть только очень узкий диапазон, когда RecordCount возвращает количество записей.


 
Leonid Troyanovsky ©   (2007-11-11 03:19) [78]


> Petr V. Abramov ©   (11.11.07 03:11) [74]

> этом никто не заподозрит, что про try... except Вы услышали
> только вчера.

Чего-то, вместо списка заблуждений у нас получается мануал
"Как стать классным программистом" :)

--
Regards, LVT.


 
{RASkov}   (2007-11-11 03:25) [79]

> [77] Германн ©   (11.11.07 03:17)
> Зависит от атмосферного давления, температуры воздуха, возраста бабушки соседа слева и т.п.

Т.е. заблуждение в том что RecordCount всегда вертает кол-во записей в таблице?
Просто как это выражено в [65] - не вяжется.... Какое-никакое(отфильтрованное) а вернет кол-во записей...


 
Petr V. Abramov ©   (2007-11-11 03:26) [80]

> Leonid Troyanovsky ©   (11.11.07 03:19) [78]
приятное с полезным.
> Пункт первый
N малое. программировать на Delphi - это кидать что-то непонятное на форму.
N малое 1. Если хелп на непонятном языке, его не надо читать
N малое 2. Если забить на умершее Delphi и перейти на живую жабу или vs, что-нить поменяется



Страницы: 1 2 3 4 5 6 7 8 9 
вся ветка

Форум: "Прочее";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.63 MB
Время: 0.061 c
15-1195313211
IvanJ
2007-11-17 18:26
2007.12.16
Аналог из C++ в Delphi


15-1195079234
Альберт
2007-11-15 01:27
2007.12.16
при установки kol не найден exptintf.dcu


15-1195116215
lehich
2007-11-15 11:43
2007.12.16
резервная копия nokia 6230


1-1191159510
Мурзик
2007-09-30 17:38
2007.12.16
Подскажите пожалуйста


2-1195451927
АндрейК
2007-11-19 08:58
2007.12.16
Заменить клик левой кнопки мыши на Ctrl+клик левой кнопки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский