Вход | Регистрация
    1  2  3   
1С:Предприятие :: 1С:Предприятие 8 общая

Злоупотребление методом Выполнить()?

Ø [Фрэнки, 15.06.21 - 08:13]
Злоупотребление методом Выполнить()?
Я
   masenshi
 
10.06.21 - 05:18
Есть такие кто (серьезно, существенно) программирует в режиме 1С предприятие с использованием метода Выполнить()?

Какое у кого мнение по этому поводу? Коллеги не разделяют моей любви к внешнему коду, поэтому и спрашиваю.
Понятно что не все можно так запрограммировать но тем не менее.
Для меня это удобно и быстро.
Конфа самописная на 8.3. Код хранится в справочнике. Доступ имеет только админ )
 
 Партнерская программа EFSOL Oblako
   АнализДанных
 
101 - 10.06.21 - 10:02
(0) Кроме всех минусов, которые описали: Метод выполнить ограничен тем, что тебе приходится писать код, без разбиения на процедуры. Он становиться более сложным. Если ты в основной конфигурации изменишь то, что используется в твоих алгоритмах, то все твои "выполнить" отвалятся. Я сталкивался с подобной реализацией, кроме негатива в такой реализации ничего хорошего нет.
Если уж очень хочется, то сделай это, через внешние обработки, тогда можно будет отлаживать и более комфортно вести разработку.

Самое сложное с чем я сталкивался - это когда внутри метода "Выполнить" есть вложенные в друг-друга "Выполнить", как в таком коде разобраться. Твои коллеги правы.
   masenshi
 
102 - 10.06.21 - 10:07
(99) "Каждый должен пройти свой путь. Но сразу скажу - твой путь неправильный" ))
   Oftan_Idy
 
103 - 10.06.21 - 10:09
(0) Это Абсолютное Зло.

Единственное место где это "добро" и "правильно" - это конфа "Конвертация данных"
   Kassern
 
104 - 10.06.21 - 10:10
(102) в вашей нетленке есть понятие полных прав? Используете роли, или тупо в коде, если это вася тогда разрешить?
   Said_We
 
105 - 10.06.21 - 10:15
Функция ИмяТабличнойЧасти(пКнопка)
    Перем ИмяКнопки, ИмяТабличнойЧасти;
    
    ИмяКнопки = ВРег(пКнопка.Имя);
    
    ИмяТабличнойЧасти = "";
    Если Найти(ИмяКнопки, ВРег("ТабличнаяЧасть1")) > 0 Тогда
        ИмяТабличнойЧасти = "ТабличнаяЧасть1";
    //ИначеЕсли Найти(ИмяКнопки, ВРег("ТабличнаяЧасть2")) > 0 Тогда

    //    ИмяТабличнойЧасти = "ТабличнаяЧасть2";

    КонецЕсли;
    
    Возврат ИмяТабличнойЧасти;
    
КонецФункции
Процедура УстановитьГалочки(Кнопка)
    УстановитьЗначениеГалочки(ИмяТабличнойЧасти(Кнопка), "Истина");
КонецПроцедуры
Процедура СнятьГалочки(Кнопка)
    УстановитьЗначениеГалочки(ИмяТабличнойЧасти(Кнопка), "Ложь");
КонецПроцедуры
Процедура ИнвертироватьГалочки(Кнопка)
    УстановитьЗначениеГалочки(ИмяТабличнойЧасти(Кнопка), "НЕ СтрокаТЧ.Пометка");
КонецПроцедуры
Процедура УстановитьЗначениеГалочки(пИмяТабличнойЧасти, пЗначение)
    Если НЕ ЗначениеЗаполнено(пИмяТабличнойЧасти) Тогда
        Возврат;
    КонецЕсли;
    
    Выполнить( "
    | Для Каждого СтрокаТЧ Из "+ пИмяТабличнойЧасти +" Цикл
    |    СтрокаТЧ.Пометка = "+ пЗначение +";
    |КонецЦикла; 
    |");

КонецПроцедуры
   masenshi
 
106 - 10.06.21 - 10:16
(104) права юзем и даже РЛС есть. Но используется не везде, только там где это необходимо.
   Said_We
 
107 - 10.06.21 - 10:18
Пять процедур и функций которые для всех табличных частей описывают установку, снятие и инвертирование галочек через Выполнить(). Главное правильные имена кнопкам дать, в функции ИмяТабличнойЧасти() добавить пару строчек и усё.
   acht
 
108 - 10.06.21 - 10:20
(105) ЭтотОбъект[пИмяТабличнойЧасти], не ?
   razlagator
 
109 - 10.06.21 - 10:20
(0) Для таких как ты, в аду отдельный котел уже приготовлен.
   Фрэнки
 
110 - 10.06.21 - 10:27
(97)// И что хуже? //


Вспомнился анекдот про ковбоев и навоз
   Mikeware
 
111 - 10.06.21 - 10:30
(80) тю. ну я семерошник. с прямых запросов, правда. И ничего, умудряюсь исправлять "запросы в цикле" за франями, которые не то, что клюшек - снеговика на ОФ не видели, только УФ.
вон, сейчас контора, разраб федерального уровня, обработку с кодом О-квадрат подкинула... "Вычислительная сложность"? не, не слышали... франч, кстати, О-куб умудрился реализовать...
   Фрэнки
 
112 - 10.06.21 - 10:30
- Ты вот эту кучку видишь?
- Ну вижу и чего?
- А спорим на 100 баксов, что я её съем?!
- А давай.
Съел. Едут дальше. Обидно этому другому, что 100 баксов проспорил. И тут еще одна кучка навоза.
- О! Вот есть кучка. Спорим на 100 баксов, что я тоже съем?!
Поспорили. Съел. Проехали еще немного.
И один из них говорит :
- Знаешь, Джо, у меня такое чувство, что мы с тобой задарма дерьма нажрались.
   acht
 
113 - 10.06.21 - 10:32
(107) У тебя котел рядом с котлом для ТС стоять будет.

Процедура УстановитьЗначениеГалочки(Кнопка, Значение)
    
    ИмяТабличнойЧасти = СтрЗаменить(ВРег(Кнопка.Имя), "КнопкаУстановитьГалочку", "");
    Приемник = Новый Структура(ИмяТабличнойЧасти);
    ЗаполнитьЗначениеСвойств(Приемник, ЭтотОбъект);
    
    ТабличнаяЧасть  = Приемник[ИмяТабличнойЧасти];
    Если ТабличнаяЧасть = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    Для Каждого СтрокаТЧ Из ТабличнаяЧасть Цикл
        Если Значение = Неопределено Тогда
            СтрокаТЧ.Пометка = Не СтрокаТЧ.Пометка;
        Иначе
            СтрокаТЧ.Пометка = Значение;
        КонецЕсли;  
    КонецЦикла; 

КонецПроцедуры
   ptiz
 
114 - 10.06.21 - 10:34
(0) Выполнить() для обычного кода - это временный подключаемый костыль. Потом всё переносится в нормальный код и Выполнить() перестает работать.
Исключение, как уже говорили -  конвертации данных и т.п.
   ptiz
 
115 - 10.06.21 - 10:38
Пример костыля:

Процедура ДвиженияПоРегистрам(РежимПроведения, СтруктураШапкиДокумента, ТаблицаТоваров, Отказ, Заголовок)

    КлючАлгоритма = "Документ_МойДокумент_ДвиженияПоРегистрам";
    ТекстАлгоритма =  НайтиАлгоритмПоКлючу(КлючАлгоритма);
    Если ЗначениеЗаполнено(ТекстАлгоритма) Тогда
        Выполнить(ТекстАлгоритма);
        Возврат;
    КонецЕсли;
....



Где НайтиАлгоритмПоКлючу()  - функция в Глобальнике, берет код из параметра сеанса (ФиксированнаяСтруктура).
Нет, не тормозит, т.к. используется временно , только для экстренного исправления ошибок.
   Said_We
 
116 - 10.06.21 - 10:39
(113) Инверсия галочек где?
(108) Это лишь пример того, что я встречал в рабочих базах не временного использования.
   acht
 
117 - 10.06.21 - 10:52
(116) Если Значение = Неопределено Тогда
   acht
 
118 - 10.06.21 - 10:54
(116) > что я встречал
И ты пропускал такой код? Или ты был маленьким бесправным программистом?
   Said_We
 
119 - 10.06.21 - 10:54
В цикле сравнение - зачем?
   Kassern
 
120 - 10.06.21 - 10:58
(119) незачем, можно просто СтрокаТЧ.Пометка = Значение;
   Kassern
 
121 - 10.06.21 - 10:58
(119) в любом случае метод выполнить для этой задачи не оптимальный
   Said_We
 
122 - 10.06.21 - 11:01
(118) Переменная "Значение" в твоем коде, это входной параметр в Процедуру и в теле процедуры значение не меняется. Зачем в цикле его значение проверять?
Для этого и существует динамический код.
(121) Нельзя. Там инверсия на Неопределенно зашита. Правда процедура должна была бы быть такой:
Процедура УстановитьЗначениеГалочки(Кнопка, Значение = НЕОПРЕДЕЛЕННО)
   Kassern
 
123 - 10.06.21 - 11:02
(122) вы мне хотите сказать, что без "выполнить" вашу задачу с галочками не решить?))
   Said_We
 
124 - 10.06.21 - 11:05
(123) Где вы такое прочитали? :-) Странный вывод.
   Said_We
 
125 - 10.06.21 - 11:07
(123) Когда нибудь сигнатуру полиморфного вируса видели?
   Kassern
 
126 - 10.06.21 - 11:08
(124) Я вам пишу, что для этой задачи данный метод не оптимальный, вы ссылаясь на это пишите, что "нельзя". Что нельзя то? Нельзя сделать без метода выполнить?
   Kassern
 
127 - 10.06.21 - 11:08
(125) нет, не интересовался
   Said_We
 
128 - 10.06.21 - 11:11
(120) нельзя
   Said_We
 
129 - 10.06.21 - 11:12
У вас два сообщения подряд. Мне они в начале в другом порядке отобразились или я их иначе как-то увидел.
   Said_We
 
130 - 10.06.21 - 11:13
(121) Как раз оптимальность в том, что не нужно в цикле ничего проверять.
 
 
   Kassern
 
131 - 10.06.21 - 11:25
(130) и чем вас условия в цикле не устраивают? Это же не запросы в циклах, жрут простые условия совсем кроху ресурсов. Зато код в разы становится читабельней.
   Kassern
 
132 - 10.06.21 - 11:27
(131) это ладно простой пример. Вы залезьте в пересчет строк в ТЧ документов, тех же заказов/реализаций и посмотрите какая там структура действий и как она выполняется. А теперь представьте все это дело реализовать вашим способом через выполнить...
   Said_We
 
133 - 10.06.21 - 11:31
(131) Автор в (0) задал вопрос как вы относитесь к "Выполнить()".
Я привел пример, когда код выглядит более читабельным и даже оптимальным из-за отсутствия условий в цикле.

Что-то сложное с помощью "Выполнить()" пишут только либо временное - выше примеров привели много.
Либо тиражные решения, где программа одна, а используют разные подразделения холдинга, при этом у каждого функционального заказчика, пусть бухгалтера своё видение "правильного" алгоритма. Часть кода переносят в пользовательский режим под крайне пристальным присмотром админов.
   Kassern
 
134 - 10.06.21 - 11:33
(133) это все вкусовщина "Я привел пример, когда код выглядит более читабельным"
   Kassern
 
135 - 10.06.21 - 11:37
(134) завтра понадобятся доп условия, к примеру, поставить галочки, только у тех строк, где сумма меньше стольки то,  инвертировать галочки на против клиентов, у которых задолженность не превышает установленную в договоре. Вы эти условия куда пихать будете, так же в выполнить?
   Said_We
 
136 - 10.06.21 - 11:40
(134) Согласен. Каждому разный код кажется более читабельным. Мне чем меньше условий в том числе в цикле, тем и более читабельно.
Мне когда-то вот такой код был более читабельным:
    mov ah, 0x9
    mov dx, [bx]
    int 0x21
   Kassern
 
137 - 10.06.21 - 11:40
(136) кто чему учился)
   Serg_1960
 
138 - 10.06.21 - 11:44
Вы отклонились от темы :)
   Said_We
 
139 - 10.06.21 - 11:47
Да тему уже можно закрывать. Все вариации уже дали. Вопрос же не первый раз поднимается.
   israel
 
140 - 10.06.21 - 12:22
(0) за такое надо увольнять сразу
   H A D G E H O G s
 
141 - 10.06.21 - 13:21
(0) Просто дай нам знать, где ты!

Чтобы по незнанию не нарваться на твою поделку.
   ДенисЧ
 
142 - 10.06.21 - 13:24
(141) У тебя лишний Тополь завалялся? ))
   masenshi
 
143 - 10.06.21 - 15:13
(141) И по знанию не пройдешь.
   masenshi
 
144 - 10.06.21 - 15:18
(115) примерно так и юзаю. Только у нас код меняется часто, не спешу выносить конфигурацию. Ну а потоми не надо. И так все работает да и другие задачи есть всегда. Платят не за красивые глазки а за быстрый результат. Медленно и красиво никого не интересует.
   masenshi
 
145 - 10.06.21 - 15:19
(114) почему кд2 исключение а моя конфа нет?
   Kassern
 
146 - 10.06.21 - 15:23
(145) потому что конвертация данных это конфа созданная для динамического генерирования кода для обмена. У нее специфика такая, а метод выполнить, как раз подходит под эти нужды. У вас же обычная конфа под бизнес процессы. Делать ее на динамическом коде из справочников не целесообразно.
   Arbuz
 
147 - 10.06.21 - 15:24
Да ладно вам. Надо ещё больше функциональщины, и чтобы можно было ещё перегружать операторы, и переопределять события. И ассемблерные вставки с интринсиками тоже нужны. И динамическая смена нотации - тут хочу так, а там по другому.
   Kassern
 
148 - 10.06.21 - 15:24
(146) с тем же успехом могли вообще во внешние txtшки код вынести и на свой яндекс диск. А что такого? доступ только у вас, все же работает, руководству же пофиг да?)
   Arbuz
 
149 - 10.06.21 - 15:27
(148) В базе надо хранить, запросом собирать и в Выполнить(). Можно в удалённой базе и через http-сервис таскать.
   H A D G E H O G s
 
150 - 10.06.21 - 15:27
(143)
Beтepoк pacкaчивaeт чувcтв кaчeль,
И тaкaя гopeчь!
A любoвь мoя пeчaль-виoлoнчeль,
И нa нeй xpеначит мёpтвый Pocтpoпoвич!
   acht
 
151 - 10.06.21 - 15:32
(143) Чой-то ржу.
   Kassern
 
152 - 10.06.21 - 15:33
(149) в удаленной базе тоже как вариант, главное чтобы не у работодателя. Потом удобнее яички выкручивать при увольнении) и главное в бекапах логики вообще не будет, только данные, а как с ними работать знает лишь удаленная база)
   acht
 
153 - 10.06.21 - 15:33
(145) В том, что КД2 люди пограмотней писали.
   masenshi
 
154 - 10.06.21 - 15:48
(153) IQ тестом проверял или женская логика так решила?
   masenshi
 
155 - 10.06.21 - 15:51
(146) кстати, есть конфа такая - простые процессы называется. Так там что-то подобное даже еще дальше ребята пошли. У них бизнес процессы разрабатываются прямо в режиме предприятия. Они тоже все отморозки?
   Kassern
 
156 - 10.06.21 - 15:56
(155) у вас конфа для каких целей, какие бизнес задачи решает?
   Kassern
 
157 - 10.06.21 - 15:56
(155) я кого-то отморозком называл?
   Kassern
 
158 - 10.06.21 - 15:57
(156) какой штат программистов 1с ее поддерживает и сколько активных юзверов. Есть ли риб?
   masenshi
 
159 - 10.06.21 - 15:58
(157) нет конечно. Это я от себя добавил да и в переносном смысле.
   masenshi
 
160 - 10.06.21 - 15:59
(156) меня уволят за раскрытие тайны. Просто управленческая конфа.
 
 
   Фрэнки
 
161 - 10.06.21 - 16:03
да уж... не зря я про Васю подумал. Всё очень и очень похоже. :-)
   masenshi
 
162 - 10.06.21 - 16:08
(158) от 2 до 4 в разное время разное. Риб есть. Обмены подпиленны напильником. Но использование внешнего кода появилось не так давно. Первоначальная цель это быстрое исправление ошибок в текстах запроса, далее подхватил перенос роботов на регламентные задания. Роботы это жалкое подобие регламентных заданий (были до меня еще), код выполняется в толстом клиенте - запущено клиентское приложение 1С предприятие и выполняется какой-то код. БСП нету у нас. Думал юзать внешние обработки - но это долго и не динамично. А с внешним кодом как-то все по маслу пошло.
   masenshi
 
163 - 10.06.21 - 16:09
(161) да нет твоего Васи в этой теме не теряй время. поищи в других  - быстрее найдешь.
   masenshi
 
164 - 10.06.21 - 16:09
(163) и привет передавай
   Kassern
 
165 - 10.06.21 - 16:13
(162) ну вот побаловались, пора и в конфу запилить. Накатить бсп и юзать рег задания через внешние обработки. Так же динамически в любой момент сможете их править. Зато будущее поколение вам спасибо скажет за функционал бсп. Особенно когда с торговым оборудованием любаться)
   BeerHelpsMeWin
 
166 - 10.06.21 - 16:14
(162) >Первоначальная цель это быстрое исправление ошибок в текстах запроса
тестировать в тестовых базах, переносить в продакшн только отлаженный текст - это для лохов, которые никуда не торопятся?
   Kassern
 
167 - 10.06.21 - 16:16
(162) а пробовали работать через хранилище конфигурации и тестовой базой? На ней играетесь, отлаживаете хоть по 100 раз, пока как надо не заработает, а потом в рабочую заливаете.
   masenshi
 
168 - 10.06.21 - 16:18
(166) тестируем все как и полагается. Меняют нам ТЗ. Требуют динамического обновления. Ну и платят за это
   masenshi
 
169 - 10.06.21 - 16:20
(167) да. Так и работаем. Хранилище конфы у нас. Даже одному и то удобно работать с хранилищем конфы. Но за игры нам не платят. Если 100 раз проверять меня уволят за безделье
   Kassern
 
170 - 10.06.21 - 16:24
(169) с хранилищем действительно удобно даже и одному, чтобы свои изменения прослеживать. Чтобы 100раз не проверять, нужно стараться сразу правильно писать, с опытом это приходит, в итоге написали, на тестовой проверили, залили на рабочую. У вас там огромная нагрузка и нет временных окошек для обновлений?
   Said_We
 
171 - 10.06.21 - 16:40
Я уж думал, что после (105) спор закончится. Пример простой короткий и наглядный, где с Выполнить(), код оптимальнее (без лишних проверок в цикле) получается и короткий (без дублирования строчек кода).
А тут переливание с пустого в порожнее.
   Kassern
 
172 - 10.06.21 - 16:52
(171) тут видимо у тс нет возможности писать сразу код грамотно, либо нет возможности сгруппировать хотелки и один раз в день их обновить в регламентном окошке, а демоническим обновлением боится. Поэтому и юзает код из справочников через выполнить и по живому по 10раз на час его правит, пока нужный результат не увидит.
   Said_We
 
173 - 10.06.21 - 16:54
(172) Экстремальное программирование - это когда за твоей спиной стоит бухгалтер с большой палкой и как только видит, что ты не нажимаешь на кнопки - значит ни чего не делаешь и надо бить сильно тебя по голове. Так что ли?
   Kassern
 
174 - 10.06.21 - 16:58
(173) это лучше у ТС уточнить, я лишь предположил из вышесказанного)
П.С. Зачем с дубинкой? Сейчас же 21 век! Есть же электро ошейники)))
   Said_We
 
175 - 10.06.21 - 17:02
Да что там думать.
"Выполнить()" удобный инструмент, но сувать его на постоянку без веских причин - это параноя.

В 77 была возможность загрузить модуль из файла, но в 77 не было динамического обновления совсем. Очень часто паралельно использовали 1С++ и ООП. Так что там были веские причины использовать, но про отладку можно забыть.

В КД есть веские причины, так как сам механизм конвертации на этом построен.
В простом коде можно применять. Пример в (105) - но это практически статичный код. Просто один из 3-х текстов кода строится динамически.

Совсем динамически в тиражных версиях, когда паралельно одновременно много правильных алгоритмов, но при этом с разными результатами. Но там далеко не всё выносится в НСИ (внешние файлы не используют - как правило, и отслеживают историю изменения).
   acht
 
176 - 10.06.21 - 17:07
(171) > код оптимальнее
да-да-да, точно-точно
   masenshi
 
177 - 10.06.21 - 17:09
(171) да нет тут спора. Делимся мнением. Обсуждаем
   H A D G E H O G s
 
178 - 10.06.21 - 17:15
А теперь вопрос:
Кто бы хотел пойти работать в конфу автора?
   BeerHelpsMeWin
 
179 - 10.06.21 - 17:20
(178) FTFY: "Кто бы хотел пойти работать в конфу автора за полторы рыночных зарплаты?"
   masenshi
 
180 - 10.06.21 - 17:20
(172) В силу ограниченного времени и в силу динамичности ТЗ не всегда получается написать конечный код с первого раза. Демонические обновления не всегда возможны. Старые версии платформы не редко крахались в этом обновлении. Все изменения нужны уже сейчас. Такая работа. Метод ЛИФО. Да и правка без захватить из хранилище, поправить код, смоделировать ситуацию и отладить, поместить в хранилище. Зайти в суперконфигуратор, предварительно выгнав того кто там засел, иногда подождать приходится, а мысли то прут их не остановить, аутентиицироваться в т.ч. в хранилище, получить из хранилища, обновить демонически, закрыть (а раньше еще он в ребут сам уходил - приятного мало было ), правка такая ну быстрее в разы. Сколько ненужных технологических операций перечислил. Все! 1С щас прочитает это сообщение и перейдет полностью на внешний код в след за кд2))
   masenshi
 
181 - 10.06.21 - 17:23
(178) Скажу по секрету. Твой вопрос не будут воспринимать всерьез. И отвечать будут соответственно.
   Фрэнки
 
182 - 10.06.21 - 17:25
(181) ну я серьезно таки отвечу, что не пошел бы. За любую зарплату.
   masenshi
 
183 - 10.06.21 - 17:28
(182) И в газпром не пошел бы наверное ... по той же причине )))
   Фрэнки
 
184 - 10.06.21 - 17:29
Просто я уже работал в нечто подобном.
И дело не в том, что выбран некий способ, который как-то и чем-то не нравится.

Дело в том, что выбор способа - это обычно следствие сложившихся обстоятельств.
   H A D G E H O G s
 
185 - 10.06.21 - 17:29
(179) Да хоть за две. Но это маловероятно.
   H A D G E H O G s
 
186 - 10.06.21 - 17:30
(183) Страшно далеки вы от реальности.
   masenshi
 
187 - 10.06.21 - 17:30
(184) ну а стать мужиком и взять ситуацию под свой контроль? Или обстоятельства всегда сильнее?
   masenshi
 
188 - 10.06.21 - 17:32
(186) и вы от действительности
   Фрэнки
 
189 - 10.06.21 - 17:32
(187) Ну если у вас там ситуация аля Газпром... Образно. Кто я такой, чтоб строить из себя Дон Кихота и набрасываться на ваши ветряные мельницы?!
   Kassern
 
190 - 10.06.21 - 17:33
(181) а что будете делать, когда часть документов провелась по одной логике, а часть по другой, юзверы же не в курсе, что вы там в справочниках правите. К примеру вы правите логику резервов, люди херачат заказы и вы бац и поменяли это логику, часть товаров из реализаций которые успели завести, пока вы ее меняли логику не списались с резерва. Пока товар был в наличии, вы даже и не в курсе о косяках в проводках, а через пол года потом выяснится, что не верные резервы. Какая логика была пол года назад хз.
   masenshi
 
191 - 10.06.21 - 17:34
(189) ну если меня в вашу контору пригласят за 4х то придется идти и внедрять внешний код )))
   Фрэнки
 
192 - 10.06.21 - 17:36
(190) не... если именно так, как ты описываешь, то в справочниках править можно с соблюдением версионности и много всякого можно еще придумать для контроля, сохранения привязок ко времени и т.п. Даже красивее будет, чем просто в конфе, т.к. конфа все-таки срез только один (это в хранилище срезов множество, а в текущей конфе одна версия).
Прикольно можно сделать. Интересно даже. Но... не очень интересно.
   acht
 
193 - 10.06.21 - 17:36
(180) >  на внешний код в след за кд2))
И про КД3 ты тоже не в курсе, печалька
   H A D G E H O G s
 
194 - 10.06.21 - 17:37
Автору бы с Гением 1С сковворкироваться в синергетическом слиянии с его базухой - вот это был бы номер.

Статью в хабре не забудьте написать, там такое любят.
   acht
 
195 - 10.06.21 - 17:37
(180) > а мысли то прут их не остановить

Вот она, мякотка!
   masenshi
 
196 - 10.06.21 - 17:38
Да у нас при закрытии квартала еще 30 раз поменяется логика и все перепроведется. Да и товар у нас уникальный. Пока до конечного получателя не дойдет никакой апокалипсис не помешает.
   Said_We
 
197 - 10.06.21 - 17:39
(180) Бюрократия помогает в таких случаях - должны написать ТЗ. Подписать. Согласовать. Изменения в ТЗ - согласовать, подписать и новые сроки.
По другому такие скачки не лечатся. Их не должно быть. Даже когда пишут в режиме стреляй, а потом целься. Всё равно должны описать, что и как хотят. И согласовать не только сами с собой, но и с тобой как исполнителем. У тебя не должно быть вопросов как эту хотелку реализовывать.
У меня часто согласование заканчивалось на вопросе, а в таком случае какой результат правильный? А случай как правило с подвыподвертом, но реально существующий в жизни предприятия....
   masenshi
 
198 - 10.06.21 - 17:40
(192) Ты уже почти на темной стороне ) Будешь на ДВ заходи
   Said_We
 
199 - 10.06.21 - 17:42
(183), (189) Кто сказал что в Газпромах ЗП у программистов выше чем на рынке?
Скажу вам, что даже ниже. Есть типа морковки перед носом - годовая премия в размере нескольких окладов, но её может и не быть по разным причинам. Были опоздания на рабочее место в N-ом количестве в году, то премия вообще не положена.
   Фрэнки
 
200 - 10.06.21 - 17:43
(191) Ну я бы не называл это "внешний код" - термин не очень удачный. На самом деле, такой код не должен быть внешним. Не знаю как его более удачно назвать. Может и попадется где-то на глаза. Такие подходы есть. Что-то вроде динамических библиотек или динамически компилируемого...

Можно придумать - будет очень пристойно звучать.

Если не слишком придираться, то внутри бесчисленного множества строчек кода можно предусмотреть бесчисленное множество ветвлений. А если ветвления бесконечно много, то что-то наподобие ИИ может принимать решение. Отличие только в том, что весь код в конфе _уже_ написан, а тут он пишется ежедневно. Физически это может быть небезопасно с точки зрения самой работы, но код ошибками может быть и в статическом коде, а не в динамическом - принципиальной разницы тут нет.
  1  2  3   

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.