-
>[19] Anatoly Podgoretsky(c) 13-Nov-2006, 00:31 >Убить то можно, не будет ли других проблем? так всё равно без абсолюта не работает, какая разница...
-
> Ketmar (13.11.2006 0:32:20) [20]
Возможно с данным проектом это и пойдет, конечно на русской локализации, зато другие мои проекты включают как минимум два языка и к сожалению нет достойного набора компонент для полной, нормальной реализации, TNT не перекрывает даже потребности баз данных, например отсутствие TTntDBLookupComboBox потребовало искать обходные пути, но это и к лучшему, почти везде где можно отказался от dbAware компонент, что благоприятно повлияло на проекты, а иначе бы так и сидел на них.
-
мда. dbaware -- удобно, но такая гадость... %-)
-
> Ketmar (13.11.2006 0:38:22) [22]
Да не гадость, но меньшая управляемость, зато теперь красота - SELECT/INSERT/UPDATE короткие транзакции, кроме читающей SELECT и никаких проблем со сложными запросами.
-
> [17] Ketmar © (13.11.06 00:30)
Уже, причём именно ноутпадом > да и повторение кода в каждой форме уже может быть поводом > для придирки
Это опрометчивое заявление. ReadSettings все разные. В одном есть несущий магический смысл Exit. procedure TMainForm.ReadSettings;
begin
with TRegistry.Create do
try
OpenKey(RegBase + 'MainForm', True);
if ValueExists('Left') then begin
... end
else begin
...
Exit;
end;
finally
Free;
end;
end; В другой есть except (я понимаю, зачем он там нужен, вопрос скорее почему в других местах нет). Копипаст - зло, ошибки нужно делать и исправлять в одном месте.
-
>[24] guav(c) 13-Nov-2006, 00:45 можно сократить до >ошибки нужно делать %-)
-
> guav (13.11.2006 0:45:24) [24]
В других местах его нет потому что там пользовательские, а не серверные функции и исключение не смертельно для сервера, а наоборот пользователь узнает о нем. Главный ReadSettings как раз другой. Ну и второй вариант, может я чего то не учел. Кроме того эти другие от отличаются и подходом, в них записаны характеристики форм, если в реестре нет значения, то оно будет создано при закрытии, иначе будут использованы дизайнтайм характеристики.
Поэтому подход дифферинцирован, но надо будет внимательно посмотреть, нет ли каких блох.
-
> guav (13.11.2006 0:45:24) [24]
Ой посмотрел код, не совсем так, совсем не так, except вообще не нужен, можно будет убрать, пусть стандартная обработка работает, а главный серверный защищен с помощью ValueExists Но можно и не менять, разве только для единства стиля. И так и так результат одинаковый и более того вероятность возникновения ошибка в TRegistry.Create практически равна нулю и если такая вероятность есть тут уже не до моей программы, живым бы ноги унести, это говорит что у системы серьезные проблемы. Конечно есть определенная непоследовательность и как ты справедливо заметил, из-за китайского метода, все никак не могу себя от него отучить, проблемы из-за него постоянно возникают.
-
нормальный метод. наследие времён, когда платили за количество строк. %-)
-
> [25] Ketmar © (13.11.06 00:50)
Можно. Но это и так очевидно. Можно до "ошибки нужно делать и исправлять" - это тоже очевидно. А вот "ошибки нужно делать и исправлять в одном месте." - уже аргумент против копипаста.
> [27] Anatoly Podgoretsky © (13.11.06 00:56) > из-за китайского метода, все никак > не могу себя от него отучить, проблемы из-за него постоянно > возникают.
Я обычно пишу таким образом места, которые сразу не могу писать нормально, но потом специально выискиваю "китайский" код и исправляю.
Вообще, там столько переменных публикуемых типов пишется и читается в реестр, что запуздыривание их в класс и запись/чтение через RTTI не только сделает код менее "китайским", но и уменьшит размер иходников.
-
> [28] Ketmar © (13.11.06 00:59) > нормальный метод.
В основном, да. Легко писать, легко трассировать. Однако модифицировать такой код потом трудно: где-то можно забыть исправить. И баги по несколько раз исправлять приходится.
-
>[30] guav(c) 13-Nov-2006, 01:15 не надо мне про это рассказывать. знаком не по-наслышке. %-)
-
> [31] Ketmar © (13.11.06 01:34) > не надо мне про это рассказывать.
и то правда.
Что меня побудило скачать исходники - ошибки АРС, причём не в том, что касается протоколов, но в более простых вещах. Хотел увидеть, как так может быть. Увидел, что там просто код даже более "китайский", чем мой.
-
>[32] guav(c) 13-Nov-2006, 01:40 >просто код даже более "китайский", чем мой. CDM такой же. %-)
-
а я вообще писать клиента не буду.
а шокирующий меня пример копипаста я увидел в генофонде: перегруженные версии FloatToText, FloatToTextFmt и FormatBuf не разделяют единую реализацию, я предполагал, что из версий без const FormatSettings: TFormatSettings вызываются вкрсии с оным, оказалось - нет, копипаст.
-
Я уже молчу про DMClient, который начал писать один человек, не собираясь никому показывать ни исходный код, ни саму программу, а теперь дописывает другой.
-
> Gero (13.11.2006 02:14:35) [35]
Он чего боялся чтоли? Я например не боюсь показывать любой код, как бы плохо он не был написан.
-
> [36] Anatoly Podgoretsky © (13.11.06 09:13)
Почему же, не боялся, и код потом был опубликован.
-
> guav (13.11.2006 01:10:29) [29]
> Я обычно пишу таким образом места, которые сразу не могу писать нормально, но потом специально выискиваю "китайский" код и исправляю.
Видел бы ты как писался код, сколько раз он изменялся по данной причине, поскольку не только не ясно как нормально, а вообще не ясно как вообще, многочисленый трассировки с воссождание различных ситуаций, тем более что нельзя сразу написать для всех вариатов, которых просто очень много, неизвестные реакции серверов на различные ситуации и при этом сервер должен оставаться в любом случае живым, это же не клиент. Вот если буду писать другой сервер то будет полегче, уже известны многие проблемы. Документация - ожидалось, что в RFC все описано, оказалось что нет, один формат XOVER столько пришлось перешерстить Интернета, все ссылаются на одного чувака, мол у него описан формат, а все ссылки на него мертвые и датированы прошлым веком, еле еле нашел одно единственное место, где была нужная мне строчка. А код как код, можно писать с разными вариантами, сути не меняет.
-
> guav (13.11.2006 01:15:30) [30]
Не, китайский метод, это зло, именно забывается и особенно когда идентификаторы близкие по написанию и старое описание то есть и оно валидное, компилятор тут не помогает. Но время ускоряет невероятно, только нужно быть скрупулезно внимательным, но и то пропускаешь, если же писать не этом методом, то не будет единства стиля, сам же в него меня ткнул вчера и дольше, но более надежно.
|