В 1С тоже можно годный код писать. Но тут проблема в том, что над тобой стоит хуева туча народу и кричат - Давай! Быстрей! Срочно надо!
И ты пишешь говно, думая - Будет время, переделаю нормально. Лишь бы сейчас работало.
Но идут месяцы, порой даже годы, а ты хотел бы переделать, чтобы был не говнокод, а некогда...
А потом, вступает в действие правило "Работает, не трожь!"...
ты думаешь у других как-то иначе? всегда заказчик хочет как можно скорее. Киберпук вышел кривым, его же не на 1с писали. сервисы гугла сегодня сломались, явно что-нибудь на бой выкатили
Угу. У меня на работе через гугл-диск идет обмен заказами для торговых точек. Операторы бедные бегали и пританцовывали. Это ж придется каждый заказ по телефону принимать, а это часы работы. Слава боху, починили к нужному моменту.
А так-то да. Я понимаю, что всем нужно быстрее. И никак не объяснить людям, что делать говно, можно быстро. А чтобы хорошо сделать, нужно время...
Рыночек. Если говно можно продать по примерно той же цене, что и хороший продукт - нафига тратить лишнее время?
Продажами занимается не программист, а продажник. Ему важно продать и получить деньги. То, что программист будет спать неспокойно - не его беда, увы.
А распил бюджета на разработку делает уже тот, кто общается с этой совестью... иногда.
Это не программист Вася Пупкин, а начальник, на которого потом весь поток косяков свалится.
Вообще, делать хорошо (не идеально!) экономически выгодно, если продукт работает долго, и приводит к тебе новые деньги помимо просто поддержки.
Ну а если разработка разовая, то слабать из кубиков на коленке - самое оно, конечно
Я еще понимаю (со своего дивана) про продажников, 1С, и программистов. Но сцуко, почему же в промышленности такой подход? Тоже давай-давай и ниибет. Ну дал ты стране угля, вместо здоровой платы с кучей настроек и функций поставил пару релюшек, и оно внезапно как то даже работает. А начальству то и надо. Потом, когда вылезают всякие мелочи, типа продукция "та, да не та, надо поправить там кой чего по скорости и подаче" заебешься обьяснять что на паре релюшек это сделать нереально. "Сделай как реально". И вот у тебя уже торчит резистор наружу, который операторы подкручивают в зависимости от нужных им параметров.
Бля, а есть станки с гроздью резисторов таких, они все в шкафу, и операторы туда уже не лазят. Теперь и я оператор - должен накручивать все тонкие настройки за них. Это и есть ебучий индусский код, только в железе.
А у меня правда интересует такой вопрос. Пишу на 1С более 15 лет работал и самостоятельно и в штате. Некоторые конфигурации вполне приятные, некоторые - просто ппц. А вот как у других?
Иногда смотришь на некоторые "гениальные" решения в УТ11 и думаешь: свичнуться на джаву, что-ли? Потом думаешь, ну там же тоже люди программы пишут. Тоже косячат не по детски наверняка?
Мне нравится БП 3.0 Она по крайней мере логично написана. Нелогичные решения обычно связаны с пожарным вводом в эксплуатацию нововведений нашего любимого правительства.
А в УТ 11 - это капец. У нас она ещё и с CRM-ом. Тормозная до ужаса. Причем начинаешь находить такие клады - хоть стой, хоть падай.
И понимаешь, она не тормозить не может.
А как у других? Что там за пределами?
Работаю в крупной компании (в штате больше 1000 it специалистов, 1сников около 100 человек). Я работаю с самописной конфигурацией, там порой такое напишут, что просто волосы дыбом встают. Например, срез последних к РС и в параметрах временной таблицы указывают отбор по ресурсу.
Где есть люди - там будут ошибки. Скажите, какие технологии групповой разработки используют у Вас 1Сники. Я работал только в небольших коллективах и мы делили по базам. "Ты обслуживаешь тех, а ты - этих". Мне интересно на какие технологии лучше всего ложится разработка в 1С? Автотесты какие-нибудь приспособили? Или ручное тестирование? Как взаимодействуют эти 100 человек? Или это франч и у каждого по несколько клиентов?
Типовые 1с, работают с хранилищем. Автотесты последнее время внедряют, ещё есть регресс тестирование. Формируют отчёт до доработки и после и сверяют полученные результаты. Вообще обычно изменения тестируют в 3 этапа, разработчик, пользователь, отдел тестирования. К внедрению прикладывают протокол тестирования.
Люди поделены на команды, работают по agile или канбан. Команда пилит свой блок. У каждой команды есть заказчик от бизнеса, продакт, PM, методолог, аналитик, тимлид и 3-4 кодера. Описания системы и блоков почти нет, пользовательской инструкции нет. В этом плане бардак.
Спасибо. Познавательно. То есть это под большого заказчика или много мелких?
пользовательской инструкции нет
Знакомо. Я пытался писать, но никаких ресурсов не хватит. Зачастую, понятно для пользователей, описать фичу - дольше, чем реализовать в коде её же. ))
Это фикс, одна компания, большая база данных (3,5 Тб, каждый год свёртка). Разные задачи. Разные отделы работают в этой конфигурации, только внутренние, но информация поступает из различных источников, даже извне. Наша конфигурация получает данные из десятка различных систем и в ещё большее количество систем отдается информация. В день создаётся около 10 млн документов, часть без движений в РН, часть пишут в РС.
А в общем всё так же. Хреново с прямой архитектурой, везде костыли
Хочешь архитектурный подход - пили "инди проект"? А потом рефактори свой спагетти-код до посинения. )))
Не работал. Это конфигурация, которая консолидирует данные с других баз, кажется. Как-то рассматривали её для внедрения но отказались. Не помню почему.
Тогда не показывайте мне УХ... )))
Я ещё УНФ хотел посмотреть. Может там чего путнего понаписали...
Индийские программисты - наиболее массовые и наиболее низкоквалифицированные (в среднем по больнице) кадры. Поэтому неумело спроектированный, излишне переусложненный, неочевидный код нарекли "индусским".
Его очень сложно поддерживать, в попытках что-то в нем изменить (починить, добавить функциональность и т.п.), высок шанс сломать еще больше. Если этот код и покрывается тестами, то они будут сделаны так, чтобы "быть зелеными", а не контролировать контракты.
во-первых: нацию не выбирают,
во-вторых: среди индийцев огромное количество крутых спецов, добившихся успеха в отрасли. да йопта, директор гугла - индиец.
ну и в-третьих: говнокодеров везде хватает.
Дык я разве спорю? Сам такой. Хочу все сделать правильно и красиво. Но времени как правило дают в обрез. Вот и приходится говнокод лепить.
И да, я назвал индийца индусом, потому, что меня так научили. В Африке живут негры, а в Индии живут индусы.
Где учили? Индусы - исповедующие индуизм. Это принадлежность к религии, а не национальность.
А вот и нет. С любым инженером, кроме самых тупых, из стран СНГ запросто можно работать, объяснить проблему и быть уверенным, что проблему поняли. С индусами, арабами, американцами - нереально. Это ебаный ад и пиздец, они банально не одупляют принципы, только поверхностную ремесленную часть.
По моему опыту из стартапов - нет, не умеют. У них как будто не хватает чего-то - вот всё хорошо, и алгоритмы знают, и предметную область, но задачи решают максимально "в лоб". Не хватает данных в модели - добавим, пофиг что они элементарно вынимаются из связей, дедупликация не нужна, нормализация для слабаков. if на полсотни веток - запросто, абстракции не нужны.
Господи, да возьми тот же язык Go, снискавший бешеную популярность - все-то стоило убрать дженерики, ибо сложно, потоки, ибо сложно, и добавить сборку мусора, ибо управлять памятью тоже сложно. Ну а коммиты по тысяче строк на элементарную задачу - щитоподелать ~десу, if err != nil { return nil, err } сам себя не напишет.



