powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Грамотно написать программу а не говнокод
25 сообщений из 129, страница 5 из 6
Грамотно написать программу а не говнокод
    #39630744
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBrПрограмма обновляется из базы - это само собой разумеющееся, но ради мелких правок (там формочку новую слепить, отчётик подрисовать, даже орфографию подправить) нет смысла перекомпилировать. Плюс, я правку могу сделать с любого рабочего места, а компиляция - увы

Перекомпиляция в Delphi занимает секунды.
Загрузка новой версии в БД - аналогично.

Правка с любого рабочего места - вероятно тут что-то не то в консерватории, если такое требуется и является краеугольны камнем.
Но собственно, я могу зайти удаленно на свое рабочее место и там скомпилять любую правку.
Либо с ноута, на котором тоже развернута среда с нужными компонентами и исходниками.

Ноут - это для работы в отпуске :)
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39630765
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksПравка с любого рабочего места - вероятно тут что-то не то в консерватории, если такое требуется и является краеугольны камнем.
Значит у вас работа сидячая и мало далекоудалённых объектов, плюс ноутбуки свободные в наличии.
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39630769
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBrЗначит у вас работа сидячая и мало далекоудалённых объектов, плюс ноутбуки свободные в наличии.
Хм. То есть, архитектура "как не говнокодить" плавно приводит к необходимости высунув язык носиться по удалённым объектам и что-то там править на коленке?
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39630777
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks...Перекомпиляция в Delphi занимает...

Ты просто одного клиента обслуживаешь.
А вот представь себе, что их десятки тысяч, локальные сети не связаны между собой, расположены от Калининграда до Владивостока. Кто-то использует стандартные конфигурации/пакеты отчетов, а кто-то желает "с перламутровыми пуговицами".
"Компиляция" - только с выпуском очередного релиза (или критического патча). После "компиляции" идет процесс тестирования, в совокупности со всеми программными компонентами; с поэтапным внедрением (сначала у небольшой группы клиентов, потом - группами по сходному функционалу и т.п.), иначе, если ёбнется ВСЁ СРАЗУ - никаких ресурсов на восстановление не хватит.
Правка скриптов (или заказных плагинов в тяжелых случаях) - относительно безболезненный способ кастомизации.
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39630779
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer...высунув язык носиться по удалённым объектам и что-то там править на коленке?
Зависит от толщины пуза клиента, не?
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39630787
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
Перекомпиляция в Delphi занимает секунды.
Загрузка новой версии в БД - аналогично.



Дело не во времени, и не в том что дизайнер и компилятор дельфи лучше любых самописных. Это все кажется важным только на первый взгляд. Самое сложное в построении сложных ИС, это правильно разделить их на нужное число архитектурных слоев, и сделать так чтобы у этих слоев зависимость была минимальная и однонаправленная. Оставаясь в рамках только дельфи, в теории это осуществить можно, но на практике не получается почти никогда. Соблазн "малой кровью" решить какие-то конкретные затыки приводит к тому что возникает куча перекрестных связей, и система превращается в неуправляемого монстра, в котором даже смена минорной версии дельфи это огромная проблема. В то время, как в правильно построенной системе, даже полностью сменить один грид на другой (например Cx на Eh) не составляет большой сложности.
Собственно хранение форм в БД и вынос части логики в скрипты и позволяет создать еще один изолированный слой, разделив разработку, поддержку и.т.д.
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39630789
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>fraks, сегодня, 12:10 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1286601&msg=21342065][21342065]

>...Новый exe кладется в базу...
Понимаю, что влезаю в чужой монастырь.
Но задача стоит похожая - работа приложений в локальной сети и их централизованное обновление. Здесь попытался представить прототип, реализующий решение.
Приложения не инсталлируются.
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39630794
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДА вот представь себе, что их десятки тысяч, локальные сети не связаны между собой, расположены от Калининграда до Владивостока. Кто-то использует стандартные конфигурации/пакеты отчетов, а кто-то желает "с перламутровыми пуговицами".
"Компиляция" - только с выпуском очередного релиза (или критического патча). После "компиляции" идет процесс тестирования, в совокупности со всеми программными компонентами; с поэтапным внедрением (сначала у небольшой группы клиентов, потом - группами по сходному функционалу и т.п.), иначе, если ёбнется ВСЁ СРАЗУ - никаких ресурсов на восстановление не хватит.
Правка скриптов (или заказных плагинов в тяжелых случаях) - относительно безболезненный способ кастомизации.
Скрипты тоже надо тестировать, а если они хранятся в базе, есть большой соблазн пихнуть исправления на живую. Но в целом, если изменения бинарника проходят суровый цикл внедрения, выделение более динамично изменяемого слоя оправдано
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39630801
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДsoftwarer...высунув язык носиться по удалённым объектам и что-то там править на коленке?
Зависит от толщины пуза клиента, не?
Однажды, лет пятнадцать назад, когда я впервые напоролся на привычку клиентов из Новосибирска, придя с утра на рабочее место, звонить с требованием немедленного исправления обнаруженных проблем в семь тридцать по местному - в моём лексиконе появилась поговорка "Программист, который хорошо поработал днём - спокойно спит по ночам". И от толщины пуза клиента это ну совершенно не зависит.
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39630812
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkovСоблазн "малой кровью" решить какие-то конкретные затыки приводит к тому что возникает куча перекрестных связей, и система превращается в неуправляемого монстра
Есть такая проблема. И лично я предпочёл решать её разбиением приложения на плагины-дллки. Это практически убивает возможность внедрения непредусмотренных левых связей, но сохраняет плюсы визуальной разработки. Само собой, при этом также почти автоматически решаются вопросы кастомизации под клиента, под роли и права пользователей итп.
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39630819
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerasviridenkovСоблазн "малой кровью" решить какие-то конкретные затыки приводит к тому что возникает куча перекрестных связей, и система превращается в неуправляемого монстра
Есть такая проблема. И лично я предпочёл решать её разбиением приложения на плагины-дллки. Это практически убивает возможность внедрения непредусмотренных левых связей, но сохраняет плюсы визуальной разработки. Само собой, при этом также почти автоматически решаются вопросы кастомизации под клиента, под роли и права пользователей итп.

Тоже вариант, я же говорю что формы и скрипты в БД это только один из способов.
Но у этого способа есть ряд неочевидных на первый взгляд преимуществ, как например, прозрачный перенос выполнения части кода на сервер, возможность упрощенного перехода на web интерфейс, и.т.д.
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39630878
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkovНо у этого способа есть ряд неочевидных на первый взгляд преимуществ
Есть. Как есть и ряд более очевидных недостатков. Поэтому, выбирая архитектурное решение, имхо, следует тщательно оценить позиционирование и будущее развитие проекта. Если это 1С - разработка платформы полностью оправданна, если это что-либо в десять-сто-тысячу раз меньшее - соответственно...
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39631158
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBrfraksПравка с любого рабочего места - вероятно тут что-то не то в консерватории, если такое требуется и является краеугольны камнем.
Значит у вас работа сидячая и мало далекоудалённых объектов, плюс ноутбуки свободные в наличии.

Работа да, в основном сидячая.
Ноутбук личный.
Нахожусь в Новосибирске.
Кемерово, Красноярск, Братск, Иркутск - это достаточно удаленные объекты?

По поводу "быстренько допилить каждому клиенту формочку"... Было раньше такое, запарился для каждого филиала формировать индивидуальный пакет обновленных отчетов.В принудительном порядке запретил любой индивидуализм. У всех одна программа, полностью одинаковые отчеты и шаблоны. Если нужно кому-то что-то - добавляется только централизованно и спускается всем. Если в конкретном месте это не нужно - делается какая-то опция что бы настройками можно было убрать лишнее.

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

Все изменения тестирую сначала сам.
Если есть сомнения что протестировал корректно - сначала ставлю этот exe только одному оператору, который эти изменения запросил. В базу этот exe не гружу что бы по остальным рабочим местам не разлетелось. Если в течение дня жалоб не поступило - загружаю в базу.

Если обновление сложное и есть некоторый риск при внедрении - запускаю в ту базу у которых клиентов поменьше и находится поближе. Протестировалось - внедряю дальше.

Исправления типа опечатки или что-то очевидное и несложное можно заливать сразу всем.

Главное - перед отпуском минимум с неделю ничего нового не внедрять :)
Не то что бы бывали случаи, но как-то ссыкотно бывает.
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39631161
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, одна из причин отказа от скриптинга - это то что скрипты не проверяются. Их нужно прогнать по все веткам что бы найти опечатки. Компилятор Delphi большинство таких нескладух находит на этапе компиляции.
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39631170
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksКстати, одна из причин отказа от скриптинга - это то что скрипты не проверяются. Их нужно прогнать по все веткам что бы найти опечатки. Компилятор Delphi большинство таких нескладух находит на этапе компиляции.
Когда я впервые смог внедрить в проекте масштабное автотестирование, я завёл оказавшуюся очень полезной практику: любые сообщения об ошибках принимал только в виде воспроизводящего тестового скрипта. Что находили тестировщики - они и писали. Что находил саппорт - писали с помощью тестировщиков. Что находили пользователи - теоретически так же, через саппорт и тестировщиков, практически же этого уже почти не случалось.
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39631254
ma1tus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksУ меня на эту идею выброшен был целый годЗа год - там, наверное, очень наворочено... На базе EControl ушел месяц, ещё около того - на простенький менеджер репозитория с поддержкой версий и выпиливание собственно дизайнера форм "обратно в Delphi" (в "самописке" остался только отладчик), чтобы можно было отлаживать и там, и компилировать тот же код и в обычные бинарники, по необходимости. В работу не пошло, т.к. не хотелось бодаться с возможными breaking changes, в пакете DevExpress, в основном, пока он поддерживался для семерки, ну и PaxScript хотелось понять получше, прежде чем "ура-работает-в-продакшн" или приобрести с поддержкой :-) А вот как сейчас его добыть...
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39631257
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ma1tusfraksУ меня на эту идею выброшен был целый годЗа год - там, наверное, очень наворочено...

Нет, не наворочено.
За год дошли до зачатков уровня Delphi1, не более.
Может конечно есть в природе крутые программеры которые выдают результат намного быстрее, но это не наш случай.
Под это дело был куплен FastScript.
бОльшая часть времени ушла на воспроизведение форм и контролов из скрипта, обвязка свойств и событий.
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39631258
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksПод это дело был куплен FastScript. бОльшая часть времени ушла на воспроизведение форм и контролов из скрипта, обвязка свойств и событий.
Ну это вы как-то слишком. Я использовал FastScript, и точно помню, что на "воспроизведение форм, обвязку свойств и событий" вместе с экспериментами ушло немного времени. Сколько точно, не скажу - поскольку оно было размазано по проекту - но суммарно порядка недель. Единственно, я не стал воспроизводить всякие экзотические и практически неиспользуемые обработчики событий, сосредоточился только на типовых (условно, одна только реализация TNotifyEvent накрыла 90% требуемого функционала, а всякие OnBeginDrag итп были оставлены до того времени, когда потребуются в проекте). Честно говоря, я даже не представляю, что надо делать, чтобы потратить на это год... ну разве что делать обвязку для каждого свойства и каждого события отдельно.
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39631588
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как только народ не извращается вместо того чтобы сделать веб приложение.
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39631610
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatКак только народ не извращается вместо того чтобы сделать веб приложение.
В кругах, которым я близок, на это принято отвечать "Мы, конечно, панки, но мы же не юродивые!"
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39631659
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39631802
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatКак только народ не извращается вместо того чтобы сделать веб приложение.

точно, F5 и вот тебе актуальная версия приложения... и никаких проблем с говнокодом )
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39631853
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев ЕвгенийrgreatКак только народ не извращается вместо того чтобы сделать веб приложение.

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

У вебприложений - свой, отдельный говнокод
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39631901
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Было бы интересно посмотреть на пример самописного бизнес-скрипта, а так де на то, как он отлаживается и синтаксически проверяется в процессе.. DimaBr, Softwarer -- можно ли примеры?
...
Рейтинг: 0 / 0
Грамотно написать программу а не говнокод
    #39632086
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скрипт ничем не отличается от кода, построен то на Фасте
...
Рейтинг: 0 / 0
25 сообщений из 129, страница 5 из 6
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Грамотно написать программу а не говнокод
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]