|
|
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
DimaBr, авторВ первом случае для пользователя ничего не измениться То есть база всё таки чудесным образом обновится? Ясно, понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 16:37 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
makhaonТо есть база всё таки чудесным образом обновится? Ясно, понятно. Обновится запрос в базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 18:26 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
Василий 2- Не хранить тексты запросов в свойствах компонентов - dfm файлы часто исключены из фильтра поиска, и в случае чего искать текст придется долго. Я в одном проекте (всё на ХП, запросов немного) выделил все тексты в секцию констант одного юнита, а в другом (клиентский софт для БД с кучей таблиц) задаю их константами внутри методов, но обязательно добавляю к имени суффикс SQL, чтобы облегчить поиск в случае чего. Т.е. не любите Вы визуальное программирование. Ну, это дело вкуса. Я так наоборот считаю, что надо максимально использовать db-aware компоненты и DataSet`ы на DataModu`лях. Открывать тут холивары на тему лениво, но вот что бесспорно так это то, что по возможности надо придерживаться одного подхода. Потому, что когда исправляешь что-то в dfm-ке, а потом где-то глубоко в коде пара символов исправляется на нечто иное, то это печаль, особенно в большихстарыхчужих проектах. Так же и про GOTO, выходом из цикла с большим уровнем вложенности или входом внутрь ассемблерной вставки... в нормально написанном коде просто не должно быть мест, где этот оператор может оказаться полезным. В целом написано по реальным багам которые вызывали наибольшее чувство ненависти нравственное страдание при сравнительно простом описании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 18:50 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
DimaBrmakhaonТо есть база всё таки чудесным образом обновится? Ясно, понятно. Обновится запрос в базе. Чудесным образом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 20:28 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
makhaonDimaBrпропущено... Обновится запрос в базе. Чудесным образом? Тю, ну по репликации двусторонней придет, что не понятного :) Другой вопрос, когда у запроса изменится список полей и параметров - что с этим делать необновленной программе, что выводить и главное - чем заполнять новые параметры, но это другой вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 21:39 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
YuRockДругой вопрос, когда у запроса изменится список полей и параметров - что с этим делать необновленной программе, что выводить и главное - чем заполнять новые параметры, но это другой вопрос. Вот это уже следующий уровень абстракции. Сначала запросы в базе (в большенства базах они там уже есть изначально в виде ХранимыхПроцедур) Второй этап - отчёты в базе. Изменились поля запроса, изменили отчёт, а дабы он изменился у всех пользователей, то хранить не в файликах а в базе. Следующий этап - формы в базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 22:29 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
DimaBrСледующий этап - формы в базу. Не-а, формы - в dll, а лишь потом - в базу ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 22:51 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
ДокНе-а, формы - в dll, а лишь потом - в базу ;) ДЛЛ- это компиляция и обновления. Это ничем не отличается от EXE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 22:58 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
А потом приходит веб-программист и говорит что вы больные на голову. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 23:47 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
DimaBrИзменились поля запроса, изменили отчёт, а дабы он изменился у всех пользователей, то хранить не в файликах а в базе. Следующий этап - формы в базу.Основной вопрос остается открытым - чем заполнять новые параметры запросов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 23:53 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
YuRockDimaBrИзменились поля запроса, изменили отчёт, а дабы он изменился у всех пользователей, то хранить не в файликах а в базе. Следующий этап - формы в базу.Основной вопрос остается открытым - чем заполнять новые параметры запросов?Предвосхищая ответ "значением контрола из формы в базе"... Не бывает логики, в которой только макеты форм и запросы. Нужны таки какие-то вычисления, расчеты, нетривиальные фильтры и интерфейсы... Даже в 1С приходится код писать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2018, 23:59 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
DimaBrДокНе-а, формы - в dll, а лишь потом - в базу ;) ДЛЛ- это компиляция и обновления. Это ничем не отличается от EXEВ данном случае принципиальной разницы, кстати, может и не быть - бинарники репликацией на клиентов рассылать, или запросы. Или и запросы, и бинарники ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 00:02 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
В правильной архитектуре, параметры заполнятся автоматически на основе контекста и имени параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 00:06 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
asviridenkovВ правильной архитектуре, параметры заполнятся автоматически на основе контекста и имени параметров.Ага, вопрос, чем, если это какая-то новая сущность расчетная или получаемая с железа (тоже нового, которое старые бинарники еще не знают). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 00:20 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
YuRockasviridenkovВ правильной архитектуре, параметры заполнятся автоматически на основе контекста и имени параметров.Ага, вопрос, чем, если это какая-то новая сущность расчетная или получаемая с железа (тоже нового, которое старые бинарники еще не знают). Бинарники и не должны знать о новых сущностях. Должны быть настройки позволяющие добавить новые сущности и указать куда и под какими имена, в какие контексты, она должна попадать. А новые запросы соответственно возьмут параметры из этих контекстов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 01:00 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
asviridenkovДолжны быть настройки позволяющие добавить новые сущности и указать куда и под какими имена, в какие контексты, она должна попадатьОбъясни, как можно с помощью настроек добавить сущность "новый драйвер кассового аппарата" (например). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 01:17 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
Новая сущность - компиляция проекта (модуля). От этого никуда не деться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 01:47 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
YuRockasviridenkovДолжны быть настройки позволяющие добавить новые сущности и указать куда и под какими имена, в какие контексты, она должна попадатьОбъясни, как можно с помощью настроек добавить сущность "новый драйвер кассового аппарата" (например). По драйвером что имеется в виду? Системный драйвер, класс в приложении, еще что-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 01:48 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
asviridenkovПо драйвером что имеется в виду? Системный драйвер, класс в приложении, еще что-то?Ппограмма, умеющая работать с железякой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 01:54 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
YuRockasviridenkovПо драйвером что имеется в виду? Системный драйвер, класс в приложении, еще что-то?Ппограмма, умеющая работать с железякой.Лично у меня это - "класс в приложении" с прекрытыми виртуальными методами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 01:56 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
YuRockYuRockпропущено... Ппограмма, умеющая работать с железякой.Лично у меня это - "класс в приложении" с прекрытыми виртуальными методами. В таком случае может сработать универсальный класс, в котором детали обмена с конкретной моделью задаются в виде конфигурации, скажем в XML. Ну, или, если разница слишком велика, в виде скриптов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 02:04 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
DimaBrНовая сущность - компиляция проекта (модуля). От этого никуда не деться.Да, а часто этот новый (измененный) модуль требует и измененных запросов. И/или наоборот - новые/измененные запросы требуют изменения модулей. Всё не задекларируешь, я к этому веду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 02:05 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
asviridenkovВ таком случае может сработать универсальный класс, в котором детали обмена с конкретной моделью задаются в виде конфигурацииДа нету конкретной модели. Есть новая модель, с новыми деталями, свойствами и поведениями. Нужен новый, только написанный бинарник (новый наследник в моем случае). И вот эта новая модель требует изменить параметры. Методов класса. И запросов в базе. И добавления новых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 02:11 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
YuRockDimaBrНовая сущность - компиляция проекта (модуля). От этого никуда не деться.Да, а часто этот новый (измененный) модуль требует и измененных запросов. И/или наоборот - новые/измененные запросы требуют изменения модулей. Всё не задекларируешь, я к этому веду. Ну одно дело, когда вы обновляете приложение на клиенте при смене кассового аппарата, и совсем другое - когда вы его обновляете из-за того, что в одном запросе запятую пропустили или новый параметр в фильтр добавили. ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 09:53 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39628742&tid=2040998]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 417ms |

| 0 / 0 |
