|
|
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
DimaBrПрограмма обновляется из базы - это само собой разумеющееся, но ради мелких правок (там формочку новую слепить, отчётик подрисовать, даже орфографию подправить) нет смысла перекомпилировать. Плюс, я правку могу сделать с любого рабочего места, а компиляция - увы Перекомпиляция в Delphi занимает секунды. Загрузка новой версии в БД - аналогично. Правка с любого рабочего места - вероятно тут что-то не то в консерватории, если такое требуется и является краеугольны камнем. Но собственно, я могу зайти удаленно на свое рабочее место и там скомпилять любую правку. Либо с ноута, на котором тоже развернута среда с нужными компонентами и исходниками. Ноут - это для работы в отпуске :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 12:26 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
fraksПравка с любого рабочего места - вероятно тут что-то не то в консерватории, если такое требуется и является краеугольны камнем. Значит у вас работа сидячая и мало далекоудалённых объектов, плюс ноутбуки свободные в наличии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:00 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
DimaBrЗначит у вас работа сидячая и мало далекоудалённых объектов, плюс ноутбуки свободные в наличии. Хм. То есть, архитектура "как не говнокодить" плавно приводит к необходимости высунув язык носиться по удалённым объектам и что-то там править на коленке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:09 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
fraks...Перекомпиляция в Delphi занимает... Ты просто одного клиента обслуживаешь. А вот представь себе, что их десятки тысяч, локальные сети не связаны между собой, расположены от Калининграда до Владивостока. Кто-то использует стандартные конфигурации/пакеты отчетов, а кто-то желает "с перламутровыми пуговицами". "Компиляция" - только с выпуском очередного релиза (или критического патча). После "компиляции" идет процесс тестирования, в совокупности со всеми программными компонентами; с поэтапным внедрением (сначала у небольшой группы клиентов, потом - группами по сходному функционалу и т.п.), иначе, если ёбнется ВСЁ СРАЗУ - никаких ресурсов на восстановление не хватит. Правка скриптов (или заказных плагинов в тяжелых случаях) - относительно безболезненный способ кастомизации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:19 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
softwarer...высунув язык носиться по удалённым объектам и что-то там править на коленке? Зависит от толщины пуза клиента, не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:22 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
fraks Перекомпиляция в Delphi занимает секунды. Загрузка новой версии в БД - аналогично. Дело не во времени, и не в том что дизайнер и компилятор дельфи лучше любых самописных. Это все кажется важным только на первый взгляд. Самое сложное в построении сложных ИС, это правильно разделить их на нужное число архитектурных слоев, и сделать так чтобы у этих слоев зависимость была минимальная и однонаправленная. Оставаясь в рамках только дельфи, в теории это осуществить можно, но на практике не получается почти никогда. Соблазн "малой кровью" решить какие-то конкретные затыки приводит к тому что возникает куча перекрестных связей, и система превращается в неуправляемого монстра, в котором даже смена минорной версии дельфи это огромная проблема. В то время, как в правильно построенной системе, даже полностью сменить один грид на другой (например Cx на Eh) не составляет большой сложности. Собственно хранение форм в БД и вынос части логики в скрипты и позволяет создать еще один изолированный слой, разделив разработку, поддержку и.т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:33 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
>fraks, сегодня, 12:10 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1286601&msg=21342065][21342065] >...Новый exe кладется в базу... Понимаю, что влезаю в чужой монастырь. Но задача стоит похожая - работа приложений в локальной сети и их централизованное обновление. Здесь попытался представить прототип, реализующий решение. Приложения не инсталлируются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:35 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
чччДА вот представь себе, что их десятки тысяч, локальные сети не связаны между собой, расположены от Калининграда до Владивостока. Кто-то использует стандартные конфигурации/пакеты отчетов, а кто-то желает "с перламутровыми пуговицами". "Компиляция" - только с выпуском очередного релиза (или критического патча). После "компиляции" идет процесс тестирования, в совокупности со всеми программными компонентами; с поэтапным внедрением (сначала у небольшой группы клиентов, потом - группами по сходному функционалу и т.п.), иначе, если ёбнется ВСЁ СРАЗУ - никаких ресурсов на восстановление не хватит. Правка скриптов (или заказных плагинов в тяжелых случаях) - относительно безболезненный способ кастомизации. Скрипты тоже надо тестировать, а если они хранятся в базе, есть большой соблазн пихнуть исправления на живую. Но в целом, если изменения бинарника проходят суровый цикл внедрения, выделение более динамично изменяемого слоя оправдано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:44 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
чччДsoftwarer...высунув язык носиться по удалённым объектам и что-то там править на коленке? Зависит от толщины пуза клиента, не? Однажды, лет пятнадцать назад, когда я впервые напоролся на привычку клиентов из Новосибирска, придя с утра на рабочее место, звонить с требованием немедленного исправления обнаруженных проблем в семь тридцать по местному - в моём лексиконе появилась поговорка "Программист, который хорошо поработал днём - спокойно спит по ночам". И от толщины пуза клиента это ну совершенно не зависит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 13:55 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
asviridenkovСоблазн "малой кровью" решить какие-то конкретные затыки приводит к тому что возникает куча перекрестных связей, и система превращается в неуправляемого монстра Есть такая проблема. И лично я предпочёл решать её разбиением приложения на плагины-дллки. Это практически убивает возможность внедрения непредусмотренных левых связей, но сохраняет плюсы визуальной разработки. Само собой, при этом также почти автоматически решаются вопросы кастомизации под клиента, под роли и права пользователей итп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:06 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
softwarerasviridenkovСоблазн "малой кровью" решить какие-то конкретные затыки приводит к тому что возникает куча перекрестных связей, и система превращается в неуправляемого монстра Есть такая проблема. И лично я предпочёл решать её разбиением приложения на плагины-дллки. Это практически убивает возможность внедрения непредусмотренных левых связей, но сохраняет плюсы визуальной разработки. Само собой, при этом также почти автоматически решаются вопросы кастомизации под клиента, под роли и права пользователей итп. Тоже вариант, я же говорю что формы и скрипты в БД это только один из способов. Но у этого способа есть ряд неочевидных на первый взгляд преимуществ, как например, прозрачный перенос выполнения части кода на сервер, возможность упрощенного перехода на web интерфейс, и.т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 14:20 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
asviridenkovНо у этого способа есть ряд неочевидных на первый взгляд преимуществ Есть. Как есть и ряд более очевидных недостатков. Поэтому, выбирая архитектурное решение, имхо, следует тщательно оценить позиционирование и будущее развитие проекта. Если это 1С - разработка платформы полностью оправданна, если это что-либо в десять-сто-тысячу раз меньшее - соответственно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 15:16 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
DimaBrfraksПравка с любого рабочего места - вероятно тут что-то не то в консерватории, если такое требуется и является краеугольны камнем. Значит у вас работа сидячая и мало далекоудалённых объектов, плюс ноутбуки свободные в наличии. Работа да, в основном сидячая. Ноутбук личный. Нахожусь в Новосибирске. Кемерово, Красноярск, Братск, Иркутск - это достаточно удаленные объекты? По поводу "быстренько допилить каждому клиенту формочку"... Было раньше такое, запарился для каждого филиала формировать индивидуальный пакет обновленных отчетов.В принудительном порядке запретил любой индивидуализм. У всех одна программа, полностью одинаковые отчеты и шаблоны. Если нужно кому-то что-то - добавляется только централизованно и спускается всем. Если в конкретном месте это не нужно - делается какая-то опция что бы настройками можно было убрать лишнее. Таким образом имеем единую кодовую базу и тестировать нужно только ее одну а не под каждого кролика. Экономия времени и мозгов, которых с возрастом больше не становится. Все изменения тестирую сначала сам. Если есть сомнения что протестировал корректно - сначала ставлю этот exe только одному оператору, который эти изменения запросил. В базу этот exe не гружу что бы по остальным рабочим местам не разлетелось. Если в течение дня жалоб не поступило - загружаю в базу. Если обновление сложное и есть некоторый риск при внедрении - запускаю в ту базу у которых клиентов поменьше и находится поближе. Протестировалось - внедряю дальше. Исправления типа опечатки или что-то очевидное и несложное можно заливать сразу всем. Главное - перед отпуском минимум с неделю ничего нового не внедрять :) Не то что бы бывали случаи, но как-то ссыкотно бывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 21:26 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
Кстати, одна из причин отказа от скриптинга - это то что скрипты не проверяются. Их нужно прогнать по все веткам что бы найти опечатки. Компилятор Delphi большинство таких нескладух находит на этапе компиляции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 21:30 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
fraksКстати, одна из причин отказа от скриптинга - это то что скрипты не проверяются. Их нужно прогнать по все веткам что бы найти опечатки. Компилятор Delphi большинство таких нескладух находит на этапе компиляции. Когда я впервые смог внедрить в проекте масштабное автотестирование, я завёл оказавшуюся очень полезной практику: любые сообщения об ошибках принимал только в виде воспроизводящего тестового скрипта. Что находили тестировщики - они и писали. Что находил саппорт - писали с помощью тестировщиков. Что находили пользователи - теоретически так же, через саппорт и тестировщиков, практически же этого уже почти не случалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2018, 22:01 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
fraksУ меня на эту идею выброшен был целый годЗа год - там, наверное, очень наворочено... На базе EControl ушел месяц, ещё около того - на простенький менеджер репозитория с поддержкой версий и выпиливание собственно дизайнера форм "обратно в Delphi" (в "самописке" остался только отладчик), чтобы можно было отлаживать и там, и компилировать тот же код и в обычные бинарники, по необходимости. В работу не пошло, т.к. не хотелось бодаться с возможными breaking changes, в пакете DevExpress, в основном, пока он поддерживался для семерки, ну и PaxScript хотелось понять получше, прежде чем "ура-работает-в-продакшн" или приобрести с поддержкой :-) А вот как сейчас его добыть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 05:12 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
ma1tusfraksУ меня на эту идею выброшен был целый годЗа год - там, наверное, очень наворочено... Нет, не наворочено. За год дошли до зачатков уровня Delphi1, не более. Может конечно есть в природе крутые программеры которые выдают результат намного быстрее, но это не наш случай. Под это дело был куплен FastScript. бОльшая часть времени ушла на воспроизведение форм и контролов из скрипта, обвязка свойств и событий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 05:44 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
fraksПод это дело был куплен FastScript. бОльшая часть времени ушла на воспроизведение форм и контролов из скрипта, обвязка свойств и событий. Ну это вы как-то слишком. Я использовал FastScript, и точно помню, что на "воспроизведение форм, обвязку свойств и событий" вместе с экспериментами ушло немного времени. Сколько точно, не скажу - поскольку оно было размазано по проекту - но суммарно порядка недель. Единственно, я не стал воспроизводить всякие экзотические и практически неиспользуемые обработчики событий, сосредоточился только на типовых (условно, одна только реализация TNotifyEvent накрыла 90% требуемого функционала, а всякие OnBeginDrag итп были оставлены до того времени, когда потребуются в проекте). Честно говоря, я даже не представляю, что надо делать, чтобы потратить на это год... ну разве что делать обвязку для каждого свойства и каждого события отдельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 06:00 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
Как только народ не извращается вместо того чтобы сделать веб приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 13:47 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
rgreatКак только народ не извращается вместо того чтобы сделать веб приложение. В кругах, которым я близок, на это принято отвечать "Мы, конечно, панки, но мы же не юродивые!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 14:06 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 14:46 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
rgreatКак только народ не извращается вместо того чтобы сделать веб приложение. точно, F5 и вот тебе актуальная версия приложения... и никаких проблем с говнокодом ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 16:54 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
Дегтярев ЕвгенийrgreatКак только народ не извращается вместо того чтобы сделать веб приложение. точно, F5 и вот тебе актуальная версия приложения... и никаких проблем с говнокодом ) У вебприложений - свой, отдельный говнокод ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 17:28 |
|
||
|
Грамотно написать программу а не говнокод
|
|||
|---|---|---|---|
|
#18+
Было бы интересно посмотреть на пример самописного бизнес-скрипта, а так де на то, как он отлаживается и синтаксически проверяется в процессе.. DimaBr, Softwarer -- можно ли примеры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 18:13 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39630789&tid=2040998]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
172ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 465ms |

| 0 / 0 |
