ПОНАДОБИЛОСЬ ЗАПИЛИТЬ СЛОЖНУЮ ФИЧУ @ НАВЕРНЯКА ДО МЕНЯ ЕЁ ДЕЛАЛО СОТНЯ ЛЮДЕЙ И ЕСТЬ ГОТОВАЯ БИБЛИОТЕКА @ ВЫБИРАЕШЬ ОДНУ ИЗ САМЫХ ПОПУЛЯРНЫХ ОПЕНСОРСНЫХ @ 100500 ЗВËЗД НА ГИТХАБЕ @ ВКОРЯЧИВАЕШЬ СЕБЕ @ ЛОВКО ОБХОДИШЬ БАГИ, НО НАТЫКАЕШЬСЯ НА БОСС-БАГ @ БЕЗ ФИКСА БОСС-БАГА ФИЧУ НЕЛЬЗЯ В ПРОДАКШН ПУСКАТЬ @ ГУГЛИШЬ РЕШЕНИЯ @ НАХОДИШЬ ТИКЕТ В РЕПОЗИТОРИИ @ ОВЕР 100 КОММЕНТОВ, РЕШЕНИЯ НЕТ @ 15 НЕРАБОЧИХ ФОРКОВ С ПОПЫТКАМИ ФИКСА ЭТОГО БАГА @ ОУНЕРУ ПОХУЙ, ОН УЖЕ ГОД НЕ ЗАХОДИЛ НА ГИТХАБ @ А МОЖЕТ УЛЕТЕЛ НА ГАВАЙИ @ ИЛИ СИДИТ ТАМ, ГДЕ НЕТ ГИТХАБА
>>1671746 (OP) Так возьми и заюзай другую либу, в чем проблема. Крайне редка ситуация, когда библиотека единственная и неповторимая в своем роде. И опять же, тебе самому форкнуть никто не запрещает.
>>1672019 Люблю такие советы бывалых пользователей гугла. Чтобы заюзать новую версию либы, надо переписать уже существующий функционал на нее, без этого ты даже не сможешь понять удовлетворяет ли она тебя. А когда перепишешь, окажется, что она работает там, где не работала предыдущая либа, но все равно далеко от идеала и ее надо фиксить. Сам уже неделю переписываюсь с оунером одной либы, которая написана через жопу, но делает то, что должна лучше, чем другие. Шлю пулл реквесты на исправления, пишу тесты и прочую хуету вместо работы.
>>1672019 Просто часто бывает, что ты уже написал кучу кода, который использует эту библиотеку, а тут босс баг. И таки да, приходится форкать и фиксить. Но на то это и босс баг, что его не так просто пофиксить. И такое часто бывает у популярных библиотек
>>1672062 >Чтобы заюзать новую версию либы, надо переписать уже существующий функционал на нее, без этого ты даже не сможешь понять удовлетворяет ли она тебя. А когда перепишешь, окажется, что она работает там, где не работала предыдущая либа, но все равно далеко от идеала и ее надо фиксить. Здесь два стула. Либо остаешься на текущем, с неработающей либой и кучей форков, которые проблему не решили, либо берешь другую и переписываешь код с учетом ее. Да, ксть риск новых багов, тут ничего не поделать.
>Сам уже неделю переписываюсь с оунером одной либы, которая написана через жопу, но делает то, что должна лучше, чем другие. Шлю пулл реквесты на исправления, пишу тесты и прочую хуету вместо работы. Ужас-то какой. А ты, видимо, думал, что будешь 300к/наносек получать, просто копипастя строчки из stackoverflow?
@ response code: 200 response json: { code: 404 message: "Not found" } @ response code: 200 response json: { code: 501 message: "server error" } @ ГОРИШЬ @ ТУШИШЬ @ ОТБИВАЕШЬ РУКИ ОБЕЗЬЯНЕ НА БЕКЕНДЕ, КОТОРАЯ ЗАНИМАЕТСЯ ТАКОЙ ХУЙНЕЙ @ ПРИ ПОВТОРЕНИИ СИТУАЦИИ ПОДНИМАЕШЬ ВОПРОС, ЧТОБ ДОЛБАЕБА ВЫКИНУЛИ НА МОРОЗ @ МНОГИМ ПРОСТО ПОХУЙ, ВЕДЬ "ВСЕ РАБОТАЕТ ЖЕ!!!1" И ПОХУЙ, ЧТО НА СТОРОНЕ ФРОНТА ПРОСТО ДОХУЯ ВЛОЖЕНЫХ ПРОВЕРОК ИЗ-ЗА ДОЛБАЕБа, КОТОРЫЙ НЕ МОЖЕТ В HTTP-КОДЫ. @ ГОРИШЬ @ ТУШИШЬ @ ...
>>1672062 >Сам уже неделю переписываюсь с оунером одной либы, которая написана через жопу, но делает то, что должна лучше, чем другие. Шлю пулл реквесты на исправления, пишу тесты и прочую хуету вместо работы.
@@@ нашел либу решающую твою задачу @@@ почти что надо, но есть недоработки @@@ шлешь пулл рекуесты и фиксишь прочие баги @@@ теперь то что надо @@@ через пол года узнаешь что оунер либы стал миллионером продав библиотеку какому_нибудь_фейбуку
Перепись ебланов в новом треде стартед. Как вернуть ошибку? Соответсвующим http-кодом, их, благо, достаточно. Возвращаешь 200 код, но при этом внутренню ошибку от себя? Пошел нахуй. Возвращаешь 400 код без джсона? Петушара.
>>1673028 >Возвращаешь 200 код, но при этом внутренню ошибку от себя? Ещё раз объясняю дебилу, что в моих примерах как раз внутренней ошибки от себя с HTTP CODE 200 нету.
>>1673467 Справедливости ради, в REST-е вообще никак не упоминаеться формат возврата ошибок, по этому каждый велосипедит как может. Да и вообще, рест - это же не стандарт, на набор рекомендаций. Хотите стандарт - берите JSON-RPC или JSON:API
>>1673537 Пошел-ка ты нахуй. Сначала такие дауны отдают 200 коды с вложенными ошибками, а потом на клиентах логика разрастается на ровном месте и потом выплывает какой-то абсолютно конченый баг, потому что оказывается, что при 200 респонсе нет обработки для внутренней ошибки номер 1488 и еще когда какое-то поле не равно четному числу (гиперболизация, но ты понял, что я имею в виду). А все потому, что мудак на беке не может в хттп-коды и не вникает в суть.
>>1673917 >Так ты напиши одну функцию которая проверяет на ошибки и реюзай. Я-то ее смогу написать, но во-первых, почему сразу не делать все правильно, чтоб потом не костылять ничего? Или мне одному обработка if (response.code == 200) { if (response.body().code() == 200) { // huy pizda } } кажется уже убогой и показывающей, что явно что-то не так в сервер апишке? А во-вторых, я выше описал приблизительную ситуацию, при которой обезьяна добавляет новый код респонса, о котором заранее никто не знал и поведение при котором не обрабатывалось.
>У нас почему-то фронты не жужжат на такой формат возврата ошибок Значит, фронты либо омеги, либо вообще не шарят. Хотя, больше не шарят на бекенде, а им просто никто ничего не говорит.
>Заодно сразу понятно, сервер просто ёбнулся, или корректно обработал и отдал ошибку Абсолютно не понятно. А при нормальной ситуации с кодами как раз да: 200-300 коды - ок, отработал 400-500 коды - не ок, где-то ошибка. Это я обобщил прямо совсем максимально. А с тем, что ты предлагаешь, может быть такое, что я пошлю запрос чуть ли не на рандомный ендпоинт, а в ответе получу 200 и только когда распарсю ответ, то только тогда догадаюсь, что оказывется, такого ендпоинта нет.
>>1674046 Хз к чему тут такие эмоци, если можно к бекендеру/итд обратиться и проблему разъяснить, от бурления такого вот ничего не изменится. Какой-то не взрослый подход.
>>1673869 Такое что это рест-макаки придумали натягивать хттп на бизнес-логику, намертво прибивая ее к одному-единственному протоколу. Завтра захочешь часть данных по вебсокетам гонять и будешь половину логики разбора ответа переделывать, зато все по ресту.
Когда всякие логеры и мониторы, которые по идее должны помогать отлавливать ошибки в клиентах и серверном коде, забиваются бизнес-логикой это ведь тоже так охуенно. Зачем мне просто логать все не-2хх события и сразу видеть что что-то пошло не так, лучше пусть туда валится всё подряд.
>кококо из-за тебя приходится писать больше проверок на фронте, бабах-кудах Правильно, если одна ошибка вызвана некорректно сформулированным запросом или падением БД, а другая некорректными переданными данными, то это и обработать надо по разному, сука ты тупая, а не мешать все в одну кучу. Иди нахуй.
>>1674033 Дядь, ты дурак? Если код будет не двухсотый, его может похерить по дороге. CORSом, или настройкой сети, или ещё какой хуйнёй. Поправь себе мозги или смени работу на правильную вместо того, чтобы визжать.
>>1674101 Никто ничего не похерит. Точнее что угодно похерить могут. Использовать 2xx коды в случае ошибки вместо 4xx считается полным зашкваром в REST и полностью всю идеологию rest ломает.
В противном случае тебе надо какой-то совсем другой протокол реализовывать, с другими концепциями.
Ошибка всегда должна сильно отличаться от не-ошибки, вообще для всего программирования правило.
>>1674082 >Правильно, если одна ошибка вызвана некорректно сформулированным запросом или падением БД, а другая некорректными переданными данными, то это и обработать надо по разному, сука ты тупая, а не мешать все в одну кучу. Иди нахуй. Ты совсем глупый? Так для этого и НУЖНО отправлять код ошибки для ситуации с ошибкой и код 200 для ситуации, когда все хорошо. Потому что иначе появляется проверка, которую я уже описал выше, где ты проверяешь сначала код на 200, а потом еще и внутреннюю переменную на 200. Просто проблема таких как ты, что вы находитесь в ебаном манямирке и у вас нет полного представления о том, как работаю бек и фронт вместе. Для таких дауничей, как ты важно просто любым способ отдать наддые на отьебись, а дальше пусть другие решают.
>>1674101 И? К чему ты это высрал? Похерить можно когда угодно и что угодно.
>>1674464 > Ты совсем глупый? Нет ты Ну давай начнем мешать бизнес-логику с http, как ты предлагаешь: 404 - это такого роута вообще нет в апи, или конкретно искомого объекта нет? 422 - это что вообще? Это некорректный формат запроса, или просто данные неправильно переданы? 403 - это у тебя прав недостаточно, или это у тебя монеток на счету недостаточно, как рестошизики часто лепят? Итд итп
> иначе появляется проверка, которую я уже описал выше, где ты проверяешь сначала код на 200, а потом еще и внутреннюю переменную на 200. А так ты проверяешь каждый статус-код отдельно. Что лучше, "если 200 то проверить на ошибки бизнес-логики, иначе сразу знать что пошло не так в соответствии с хттп-протоколом" или "если 200 то обработать ответ, а иначе для каждого кода ошибки лезть и смотреть какая именно там ошибка", м?
>>1674107 >Ошибка всегда должна сильно отличаться от не-ошибки, вообще для всего программирования правило. С, Go, Rust-кодеры и функциональщики не согласны
>>1674595 >404 - это такого роута вообще нет в апи, this >конкретно искомого объекта нет? Для этого ты можешь спокойно отдавать null или пустой массив, в зависимости от ситуации. Таким образом и разделение ошибок-не ошибок не рушится и клиент понимает, с чем имеет дело.
>422 - это что вообще? Это некорректный формат запроса, или просто данные неправильно переданы? В обоих случаях может подойти. Добавить message: "Field * in wrong" тоже не составляет проблем.
>403 - это у тебя прав недостаточно, Всегда было именно это. >это у тебя монеток на счету недостаточно, как рестошизики часто лепят? Хуй его, откуда ты это высрал и к чему это тут.
>>1676132 Коды HTTP ошибок кривые, не надо к ним привязываться, и RESTFull убог. Но какая-то база самая нужна. 2xx - всё хорошо и ответ есть 3xx - для REST извращения, типа редирект 4xx - ошибка на уровне данных. То есть, запрос некорректный, или у пользователя нет прав, или что-то ещё. Что там именно некорректно и почему, это уже очень сложная история может быть. Детали смотри в теле ответа. 5xx - техническая ошибка сервера, он тебе просто не может ответить. Запрос может корректный, может нет, попробуй ещё раз. Не ищи особо деталей в ответе. Может быть лёг сервер, ответ формирующий.
Короче принципиально важно разделить ответ на группы 2xx, 4xx и 5xx. Дальше уже натягивание совы на глобус.
В других протоколах тоже делается упор на то, чтобы ошибку от корректного ответа отделить. В JSON RPC, вообще прокотолом с натяжкой можно назвать, самый главный упор именно на этом. В случае ошибки возвращаемого значения быть не должно, должно быть поле с ошибкой. В go специально из функций 2 параметра возвращается, один из который ошибка. В языках с исключениями обычно очень дурным тоном считается возвращать ошибку, а не кидать исключение вместо этого.
>>1676276 1.1 пилили целым комитетом зиллион лет, а тут тупорылая обезьяна будет рассказывать, какие коды в нём нужны, а какие нет. Ведь всё просто, юзаешь протокол - используй его по существующим стандартам. Не подходит - бери другой/пили свой. Нет блять, хуесос берёт стандартизированный протокол с важным видом начинает рассказывать что там не так и как его правильно использовать. Нахуй иди, говно.
>>1676276 >>В языках с исключениями обычно очень дурным тоном считается возвращать ошибку, а не кидать исключение вместо этого. Что значит кинуть исключение? Сломалось что то в бэкенде и он кинул 500 ошибку фронту с комментом "server error, try later" вместо ожидаемого джейсона. Дурным тоном как раз таки считается кидать стектрейс клиенту, чтоб не палить лишний раз что там конкретно сломалось. Не его это дело.
Сишники были элитой, но в 90-х и начале нулевых, их время прошло. А гошники и расты - говно без целей и задач. Ты бы с таким успехом еще делфиебов приписал в элиту.
>>1677898 Плюсы - элита. лол. Время внедрения любой новой фичи ломает фронтэнд на несколько лет вперед, даже Страуструп забался понимать плюсы.
Java, Swift - это всегда VM. надо это понимать в контексте производительности. Да и сама Java сейчас живет только во всяких энтерпрайзах, даже на андроиде ее задвинули Котлином.
Go - это замена питона, насколько удачная - хз, время покажет. И этих товарищей сейчас большая нехватка. В отличие от тех же плюсовиков, которые нахрен никому не уперлись.
А что по поводу Котлина, то честно, я хз где он может быть нужен, кроме Андроида. Да, некоторые на нем пытаются делать бекэнд, но насколько удачный - хз, законченных проектов еще не видел.
>>1678162 Не совсем так. Свифт умеет работать с рантаймом обжс, но если он не нужен, то будет использованы прямая и дисперичизация на виртуальных таблицах
>>1674107 >полным зашкваром в REST и полностью всю идеологию rest ломает. Рест и есть зашквар с натягиванием совы на глобус. Единственный за яйца притянутый юзкейс для него, где он еще худо бедно может сделать жизнь проще - говнокруды из числа простейших (которые можно кодогенерацией ебануть часто). Завязываться на рест в целом - долбоебизм, ставший в одно время модным. Так или иначе все приходят к сорт оф rpc, даже если не тянут конкретный rpc протокол в проект. Коды нормальные отдавать, канеш, надо, но уж точно не ради реста.
>>1676078 >Для этого ты можешь спокойно отдавать null или пустой массив, в зависимости от ситуации Ты рассматриваешь только геты? Допустим ты хочешь оставить коммент в тред. Пока писал - тред нахер уже потерся мочой. Отправляешь и логично получаешь 404 - тред нот фаунд (таких кейзов можно уйму придумать). 400 не подходит, т.к. реквест ты составил валидный. 500 тоже, т.к. никаких неожиданных пиздецом бек не словил, а в спокойном режиме все обработал. 422 подходит, но 404 попросту понятнее. Так что проще юзать 404 для обоих кейсов, любой человек интуитивно поймет, да и исторически уже сложилось.
Собственно полезных повседневных кодов ошибок можно в два диапазона выразить. 400-405, 500-505. Покроет 99% задач вместе с телом ошибки. Кроме того их даже всякие продаваны наизусть знают и понимают в отличии от менее распространенных. Взаимное понимание любым одноклеточным без гугла вообще важное качество для протокола.
>>1676276 >В языках с исключениями обычно очень дурным тоном считается возвращать ошибку, а не кидать исключение вместо этого. Нихуя. Притом совершенно просто объясняется - исключения не для ожидаемых и легко обрабатываемых ошибок. Они для реальных пиздецом, которые не зря называются исключительными ситуациями. Раскидывать исключения на каждый сраный чих - крайность. Возврат какого-нибудь 400 кода с инфой - это не исключительно, а совершенно обычно. И удобства их выброс, честно говоря, никакого не дает, особенно если привыкаешь их пихать таким образом повсюду. Исключения вообще усложняют код, наматывают его горизонтально, разматывают стек при выбросе, вводят дополнительный пайплайн поверх основного и прочую грязь делают. Когда нубиков им учат почему-то забывают сделать ремарку вида "используйте аккуратно и по делу", в итоге имеем исключения ради исключений как расписку в собственной лени чуть ли не в каждом проекте.
>>1676276 >В языках с исключениями Они тамщета разные бывают. В том же свифте, например, вызвать исключение ничего не стоит и их используют повсеместно, но во многих языках постарше на каждый такой чих будет разворачиваться стек вызовов.
>>1678198 Ух бля, тоже печёт. Вкатываюсь в это говно из-за того, что там большой спрос. Есть куча вылизанных фреймворков на разных ЯП, на том же PHP всё охуенно доведено до ума например в Laravel, YII2, Doctrine. Можно генерировать модели из базы данных, можно базу данных или миграции генерировать из моделей. А на ноде по ходу фреймворки на уровне 2005 года. Всякую базовую хуйню приходится писать руками. Query билдеры вообще в ноду завезли?
>>1678780 Попробуй typeorm, он в какой-то степени умеет все то, что ты описываешь. >>1678788 Туториалы пишут в основном вкатывальщики для вкатывальщиков, там редко бывает что-то полезное, в основном там хелоуворолды
>>1678780 >Всякую базовую хуйню приходится писать руками. Query билдеры вообще в ноду завезли? Пока в ларавель тона абстракций и не внятной хуиты в ноде все просто и лаконично.
>>1671746 (OP) Как оунер пары хуёвинок подтверждаю. Пиздец как не хочется этим заниматься, когда нет потребности сделать это для себя, а за попенсорц никто не заплатит. И пулреквесты делают пиздец
ПРИШЁЛ ПУЛРЕКВЕСТ @ ПОЛОВИНА ПРОЕКТА ПЕРЕХУЯЧЕНА В ДРУГОЙ КОДСТАЙЛ @ ВМЕСТО ФИКСА ГРЯЗНЫЙ ХАК @ БЕЗ ТЕСТОВ @ БЕЗ УЧЁТА ДРУГИХ СЦЕНАРИЕВ ИСПОЛЬЗОВАНИЯ @ ЛЮТЕЙШИЙ ГОВНОКОД @ ЧЕЛОВЕК ДАЖЕ НЕ РАЗБИРАЛСЯ КАК УСТРОЕН ПРОЕКТ, НАХУЯЧИЛ АБЫ КАК @ ПОНИМАЕШЬ ЧТО ЭТО НЕЛЬЗЯ МЕРЖИТЬ @ ТОЛЬКО НАПИСАТЬ С НУЛЯ САМОМУ
As someone who has been developing websites since NCSA Mosaic was the only browser available, I’d just like to say that I’m really fcking tired of all the smart assholes out there continuously developing entirely new ways to build web applications. It started simple enough, just html and javascript. Then Cold Fusion. Then java applets. Then java servlets. Then 5 or 6 different Java application servers, EJBs, JSP, struts, XSLT, PHP. But screw all of that. We need Spring. No wait, we need Ruby…and Rails. Wait, we need jQuery. screw jQuery. We need AngularJs, and Backbone, and Ember! The world just won’t be right until we have 12 different ways to do the same thing in Javascript! Forget all those server-side things you learned. Node.js is here! No-wait. Fck Node. Use Google Go! Honestly how many times are we going to re-invent this wheel? Unless you stay current with all of this nonsense, you basically become unhireable. I’m sure some of you 20 and 30-somethings have already experienced some of this fatigue. Now just imaging 10-15 more years where every 3 years a good portion of what you learned before is now obsolete, and you’ll feel like I do.
ЕСТЬ NPM @ ЭТО СЛИШКОМ ПРОСТО @ НУЖНО СДЕЛАТЬ АЛЬТЕРНАТИВНЫЙ МЕНЕДЖЕР ПАКЕТОВ @ ТЕПЕРЬ ЕСТЬ NPM И YARN @ ПОЛОВИНА ПРИМЕРОВ УСТАНОВКИ ФРЕЙМВОРКОВ И ЛИБ ИСПОЛЬЗУЕТ NPM, ДРУГАЯ - YARN, В ТРЕТЬИХ НУЖНО ВООБЩЕ УКАЗЫВАТЬ НУЖНЫЙ МЕНЕДЖЕР КАК ПАРАМЕТР @ СТАРАЕШЬСЯ ПРИДЕРЖИВАТЬСЯ ОДНОГО МЕНЕДЖЕРА И МЕНЯЕШЬ КОМАНДУ УСТАНОВКИ ПАКЕТА ИЛИ ФРЕЙМВОРКА ПРИ КОПИРОВАНИИ, Т.К. У YARN И NPM РАЗНЫЕ LOCK ФАЙЛЫ И В ЗАВИСИМОСТИ ОТ ТОГО, ЧТО ТЫ ЗАПУСТИШЬ YARN INSTALL ИЛИ NPM INSTALL, У ТЕБЯ МОГУТ УСТАНОВИТЬСЯ РАЗНЫЕ НАБОРЫ ПАКЕТОВ @ НО ИНОГДА ЗАБЫВАЕШЬ И ВОТ У ТЕБЯ УЖЕ ПАКЕТЫ СТАВЯТСЯ ТО ЧЕРЕЗ NPM, ТО ЧЕРЕЗ YARN @ ВО МНОГИХ ЧУЖИХ ПРОЕКТАХ ТОЖЕ ВСТРЕЧАЕТСЯ ОДНОВРЕМЕННО PACKAGE-LOCK.JSON И YARN.LOCK @ ХУЙ ПОЙМИ, ЧЕМ СТАВИТЬ ПАКЕТЫ, ЧТОБЫ ЭТО ВСЁ ГОВНО НЕ СЛОМАЛОСЬ @ НАДО БОЛЬШЕ МЕНЕДЖЕРОВ ПАКЕТОВ ДЛЯ NODE
РАБОТАЕМ ПО СКРАМУ @ УТРЕННИЕ "5-МИНУТНЫЕ" МИТИНГИ РАСТЯГИВАЮТСЯ ДО ПОЛУЧАСА, ПОТОМУ ЧТО НАЧИНАЕТСЯ ОБСУЖДЕНИЕ ЧТО НАДО ДЕЛАТЬ @ ЗА СПРИНТ НАДО ПРОВЕСТИ РЕТРО, ДВА ПЛАННИНГА ГРУММИНГ, МИТИНГ С ЗАКАЗЧИКОМ, МИТИНГ С ОБСУЖДЕНИЕМ, О ЧЕМ ГОВОРИТЬ С ЗАКАЗЧИКОМ, МИТИНГ С ОБСУЖДЕНИЕМ ИТОГОВ РАЗГОВОРА С ЗАКАЗЧИКОМ @ РАЗ В НЕСКОЛЬКО ДНЕЙ ПРИЛЕТАЕТ "ОЧЕНЬ СРОЧНАЯ ЗАДАЧА ОТ ЗАКАЗЧИКА" @ "ДАВАЙТЕ ОЦЕНИМ ЗАДАЧУ В СТОРИПОИНТАХ" - "А ЧТО ТАКОЕ 1 СТОРИПОИНТ?" - "А ХУЙ ЗНАЕТ, ОЦЕНИ КАК ЧУВСТВУЕШЬ." @ ПРОДОЛЖАЕМ РАБОТАТЬ ПО СКРАМУ И РАДОВАТЬСЯ ЖИЗНИ
>>1682440 Блять, жизненно. Но я двачую, это все руководители среднего звена не хотят брать на себя ответственность выстраивать процессы, поэтому такая поебота.
>>1679216 еще один коммунист без точек с запятой. тебе комитет намекает использовать semicolons и не завязываться на asi. еще и висячие запятые на пишешь, как потом ревьюить это дерьмо? на самом деле хорошо читается код, все бы делали отступы в виде пустых строк между большими структурами данных - жилось бы легче
>>1682440 У меня был начальник, который говорил, что не может нормально описать задачу в джире, потому что сам не понимает, что должно быть на выходе, при этом каждую неделю прибегал ко мне и спрашивал сколько я еще буду ее делать. Мы каждый день устраивали митинг, каждый из участников которого начинал со словами "не знаю, что делаю, но буду делать еще неделю точно". При этом митинги должны быть на 15 минут, но мы перетирали за жизнь час-полтора. Было очень смешно, когда мы почти закончили проект, а потом поняли, что кнопка по центру интерфейса что-то должна делать, но никто не понимает, что именно. Спрашивать заказчика было бесполезно, у него на каждый элемент интерфейса мнение менялось по ходу разработки.
>"А ЧТО ТАКОЕ 1 СТОРИПОИНТ?" - "А ХУЙ ЗНАЕТ, ОЦЕНИ КАК ЧУВСТВУЕШЬ."
ЖИЗА. У нас ещё, в зависимости от тимы эти стори поинты могли означать разное кол-во времени. У одних 5 - полдня, у других - 5 дней. Щас выпилили скрам почти полностью. Оценивать в командах тоже перестали. Один архитектор оценивает в человекоднях, другой делает ревью, усё.
Если на проекте есть "старый стиль" и легаси код, то и остальное нужно херачить в том же стиле. Менять стили внутри одного проекта - еще больше запутывает, чем работать "все как легаси"
>>1682724 Потому что у нас везде аутсорс развит. Все эти митинги работают только в продуктовой компании, а не там, где заказчики и разрабы разделены 14-часовым поясом
СКРАМ @ ОЖИДАНИЕ: @ ЗАКАЗЧИК ВЫПОЛНЯЕТ РОЛЬ ПРОДУКТ-ОВНЕРА, С НИМ КАЖДЫЙ ЧЛЕН КОМАНДЫ МОЖЕТ СВЯЗАТЬСЯ И УТОЧНИТЬ БИЗНЕС-ТРЕБОВАНИЯ ПО ФИЧАМ @ РЕАЛЬНОСТЬ: @ ЗАКАЗЧИК ДОСТУПЕН ТОЛЬКО НА ПОЛЧАСА ВЕЧЕРОМ В СРЕДУ, НА МИТИНГ С НИМ ИДЕТ ТОЛЬКО ТИМ-ЛИД И ПРОДЖЕКТ-МЕНЕДЖЕР, КОТОРЫЕ ПЫТАЮТСЯ ПОТОМ ДОНЕСТИ ДО КОМАНДЫ ВИДЕНИЕ ПРОЕКТА ОТ ЗАКАЗЧИКА
>>1682768 У нас на одном проекте 1 сторипоцнт это час и задачи дробились на очень-очень мелкие по 1-2 сторипоцнта, так что одно только дробление задач на митинге и их ьаскание по жире занимали по 2 часа в день и это время надо было куда-то списывать
>>1682768 Как мне поясняли, сторипоинты и не должны привязываться ко времени. То есть, их основная суть оценить производительность команды, чтобы понимать, какой объем задач можно выполнить за спринт. То есть, если в среднем команда выполняет задач на 50 сторипоинтов за спринт, то на следующий надо брать тоже около 50 сторипоинтов. Другая команда может оценивать по-другому и те же задачи оценит в 100 сторипоинтов, но и производительность ее будет в 100 сторипоинтов.
Оценка в человеко-часах или в часах не подходит, потому что у каждого члена команды своя производительность ,и одну и ту же задачу разные разрабы могут делать и 3 часа, и 10 часов.
Антибугурт: в итоге, если фича пилится дольше ожидаемого, говоришь об этом заказчику, что он сам виноват, что слишком мало времени уделял проекту. Если ничего не меняется, в следующий раз при оценивании стори для этого заказчика добавляешь несколько дней из-за риска.
На двоще, ага. На деле проект менеджеру же всё это разруливать, а не мне. Но у нас действительно так и делают, хотя не с каждым заказчиком такое прокатит, понятное дело.
>>1682440 Дякую тобi боже що, я в такое говно не попадал. Хотя, я недавно работал на одном проект, где было некоторое подобие скрама. Но там в основном были планинги и презентации. Теперь на собеседованиях уточняю, используют ли они скрам. Если да - сразу посылаю нахуй
REACT NATIVE @ Декабрь 2017 v0.52.0 @ Март 2020 v0.62.0 @ ЗА ЭТО ВРЕМЯ ИГРОВЫЕ СТУДИИ УСПЕВАЮТ СДЕЛАТЬ ААА ИГРУ @ МНОГО МИЛЛИАРДНАЯ КОМПАНИЯ С "ТОПОВЫМИ СПЕЦИАЛИСТАМИ" НИКАК НЕ МОЖЕТ ОСИЛИТЬ КОНСТРУКТОР ПРИЛОЖЕНИЙ
>>1684041 > Нет. Кроссплатформа всегда проигрывает нативщине, это можно считать уже даже аксиомой Двачую. iOS-девелопер-7-лет, приходится вкатываться в кроссплатформу из-за того, что в основном предлагают это говно, а не нативщину
>>1684060 Оно и понятно, клиенты думаю, что сэкономят на разработке. Похуй, что решение проблем с этим говном займёт больше времени, чем разработка нативных приложений под ведро и геев
>>1684041 >Кроссплатформа всегда проигрывает нативщине, это можно считать уже даже аксиомой А нативщина проигрывает стоимостью разработки.
>>1684060 >iOS-девелопер-7-лет, приходится вкатываться в кроссплатформу из-за того, что в основном предлагают это говно, а не нативщину Для сложных проектов где много экранов и сложная анимация нужна нативщина, для простых проектов типа вывести список товаров и показать фотки RN отлично подходит. Хотя этого правила не придерживаются и ради дешевизны разработки огромные проекты делают на RN.
>>1684077 >Похуй, что решение проблем с этим говном займёт больше времени, чем разработка нативных приложений под ведро и геев К тому времени основное бабло будет собрано с клиентов.
>>1684086 >А нативщина проигрывает стоимостью разработки. Как бы да, но как бы и нет. Формально, ты прав, для заказчика в сухих цифрах это выглядит так: либо х денег на условную флаттер/reactnative разработку сразу под обе платформы, либо х + х = 2х денег на каждую из платформ соответственно. Но могу сказать, как тот, кто немного работал с флаттером и у кого есть коллеги, работащие с реактнейтивом: баги в кроссплатформах отловить намного сложнее и еще более сложно исправить баг так, чтоб он исправился для одной платформы и ничего не затронулось на второй. Либо, придется делать просто нативные вставки в коде для одной из платформ, лол, потому что другого выхода нет. И выливается это все в то, что так или иначе, заказчик заплатит сумму, не меньшую, чем если бы изначально не выдрючивался, а согласился бы на чистую нативщину.
>для простых проектов типа вывести список товаров и показать фотки RN отлично подходит. Только таких проектов в законченном виде практически нет, точнее тупо единицы. А то, что ты описал - лишь первая итерация из многих последующих в большом проекте. И если на первой итерации еще не замечается весь зашквар кроссплатформы, то на следующих он выявляется конкретно и бьет по нервам и кошелькам очень больно.
>К тому времени основное бабло будет собрано с клиентов. С этой точки зрения ты прав, бро:) Программист останется в выигрыше, кек. Но заказчик нет.
>>1684077 Клиентам как раз таки важно иметь хорошее приложение, это руководителю разработки очень выгодно иметь одного RN-эникейщика, который из раза в раз будет придумывать хаки и играться с костылями. Видел такое говнище, а когда заказчик пришел и сказал, что все хуйня, давайте по новой, только денег не дам, ибо и так проебали дохуя, контора закрылась.
>>1684512 >Но могу сказать, как тот, кто немного работал с флаттером и у кого есть коллеги, работащие с реактнейтивом: баги в кроссплатформах отловить намного сложнее и еще более сложно исправить баг так, чтоб он исправился для одной платформы и ничего не затронулось на второй. На этот случай в RN посмотреть на какой платформе он выполняется и в зависимости от этого подставлять нужные стили и компоненты.
>>1684512 >Только таких проектов в законченном виде практически нет, точнее тупо единицы. Это большинство таких проектов, регистрация, авторизация, вывод разных данных из бэка, все. Начиная с версии 0.60 RN стабильно работает и быстро собирается.
>>1684978 >Это большинство таких проектов, регистрация, авторизация, вывод разных данных из бэка, все. ЛОЛ. Ты бы вкатился в какой-нибудь настоящий проект, а не приложение-визитка
РАСПЛАНИРОВАНО ЗАДАЧ НА ПОЛГОДА ВПЕРЕД @ ЗАКАЗЧИК ГОВОРИТ, ЧТО В СВЯЗИ С КРИЗИСОМ МОЖЕТ ОПЛАТИТЬ ТОЛЬКО 3 МЕСЯЦА РАБОТЫ @ ПРОДЖЕКТ-МЕНЕДЖЕР ПРОВОДИТ МИТИНГ НА ТЕМУ "КАК НА СОПТИМИЗИРОВАТЬ НАШУ РАБОТУ, ЧТОБЫ СДЕЛАТЬ ПО-БЫСТРЕЕ"
>>1685901 >>РАСПЛАНИРОВАНО ЗАДАЧ НА ПОЛГОДА ВПЕРЕД Охуительная идея строить подробные планы на полгода/год, а потом вносить поправки размером с такой же план. Небось еще гордо называете свой вотерфол эджайлом?
>>1685950 Ну на самом деле в нормальных конторах так оно и есть, потому что иначе не будет представления об ожидаемой прибыли в последующие месяцы => не ясно, сколько сотрудников мжно в перспективе брать или скольких уволить => Все идет по пизде.
РАБОТАЕШЬ НА НЕПЫЛЬНОЙ УДАЛЁНОЧКЕ @ ПРОДОЛЖАЕШЬ РАБОТАТЬ, КАК И РАНЬШЕ @ ПРОДОЛЖАЕШЬ СЫЧЕВАТЬ ДОМА, КАК И РАНЬШЕ @ КАРАНТИН? КАКОЙ КАРАНТИН? @ АНТИБУГУРТ
ПОСТОЯННО ЖАЛУЕШЬСЯ НА СВОЮ ГАЛЕРУ, МОЛ ЗООПАРК ТЕХНОЛОГИЙ РАЗВЕЛИ, НЕ МОГУТ ВЫБРАТЬ ОДИН РАЗ НОРМАЛЬНО @ ПИЛИШЬ ДОМА ПЕТ-ПРОЕКТ БОТА ДЛЯ ТРЕЙДИНГА @ КАЖДЫЕ ДВЕ НЕДЕЛИ МЕНЯЕШЬ СТЕК @ ПОСТОЯННО ОТСЫЛАЕШЬСЯ К СТАРЫМ ФАЙЛАМ, КОТОРЫЕ РАСКИДАНЫ ПО ВСЕМУ КОМПЬЮТЕРУ @ ЗА ДВА МЕСЯЦА ПЕТ-ПРОЕКТА ОБРАЗОВАЛСЯ ПЛАСТ ЛЕГАСИ КОДА, НАПИСАННЫЙ НА РАЗНЫХ ЯЗЫКАХ, КОТОРЫЙ НЕЛЬЗЯ ВЫКИНУТЬ
@ CLEAN ARCHITECTURE @ ЗАЯВЛЕНА, КАК СВЕРХУДОБНАЯ АРХИТЕКТУРНАЯ ПАРАДИГМА, ПОМОГАЮЩАЯ РАЗДЕЛИТЬ ЛОГИЧЕСКИ БИЗНЕС-ЛОГИКУ, ОТОБРАЖЕНИЕ, ПАРСИНГ, КОНВЕРТАЦИЮ ДАННЫХ И Т,Д, @ НА ПРАКТИКЕ ЖЕ КАЖДЫЙ ПРОЕКТ, СДЕЛАНЫЙ ПО CA ЯВЛЯЕТСЯ АБСОЛЮТНО НЕЧИТАБЕЛЬНЫМ ГОВНОМ, БЕЗ ВОЗМОЖНОСТИ НОРМАЛЬНОЙ ОТЛАДКИ И ПРИКРУЧИВАНИЯ НОВОГО ФУНКЦИОНАЛА @ ДЛЯ ДОБАВЛЕНИЯ ЛЮБОЙ КРОШЕЧНОЙ ФИЧИ НУЖНО ДОБАВЛЯТЬ ПО 5-6 ФАЙЛОВ @ ИЗМЕНЕНИЯ В ОДНОМ СЛОЕ ПРИВОДЯТ К ТОМУ, ЧТО КОД НЕ СОБИРАЕТСЯ ИЛИ ПАДАЕТ В РАНТАЙМЕ @ ЕДИНСТВЕННЫЙ АРГУМЕНТ, КОТОРЫЙ ПРИВОДЯТ АДЕПТЫ ЭТОЙ ПАРАШИ - ЭТО "ЗАТО ЮНИТ ТЕСТЫ УДОБНЕЕ ДЕЛАТЬ ))0000)))00 А ТЫ НЕ ШАРИШЬ ПРОСТО!!!1", И ПОХУЙ, ЧТО ИХ assert 1+1=2 НИКОМУ НАХУЙ НЕ УПАЛИ
>>1693640 заповеди деда мартина и прочие дизайн паттерны подходят только для крудозапила и существуют только на стадии создания архитектуры. в 99% решают документированные блоки абстракций.
>>1693776 Дизайн паттерны как раз для крудов нахуй не нужны, они нужны для больших приложений. >в 99% решают документированные блоки абстракций.
Это и так понятно. Вопрос только в том, какие именно блоки, как они должны быть составлены и интегрированы друг с другом. Ну и документация документации рознь. Удобно читать небольшие функции с понятными тайпспеками, а вот полотна доков, написанные макаками на кривом инглише - ещё хуже чем говнолапшу, которую они документируют.
>>1693582 >ИЗМЕНЕНИЯ В ОДНОМ СЛОЕ ПРИВОДЯТ К ТОМУ, ЧТО КОД НЕ СОБИРАЕТСЯ Ты можешь, условно, написать все в одном файле и да, маленькое изменение сделает твой код таким же некомпилируемым, если ты сломаешь интерфейс
>ИЛИ ПАДАЕТ В РАНТАЙМЕ Либо у тебя язык - говно, либо ты говнокод пишешь.
>>1694077 > Либо у тебя язык - говно, либо ты говнокод пишешь. Обожаю таких сверхумников, которые готовы поучать всех с высоты своей залупы. Я говнокод стараюсь не писать, но проект падает с регулярной частотой, просто потому, что я не один в команде. И там где я бы сказал "хуета", для других нормальный паттерн и пускай все падает в рантайме при определенных условиях. Пускай, что это все правится за час-два, всем похуй. Так что не гони на архитекторов, они в массе своей те еще джуны, которых хз как взяли на работу.
>>1671746 (OP) ПОНАДОБИЛОСЬ ЗАПИЛИТЬ СЛОЖНУЮ ФИЧУ @ НАХОДИШЬ СТАТЬЮ НА ARXIV.ORG @ ПРОСИШЬ У АВТОРОВ КОД "ДЛЯ ИССЛЕДОВАТЕЛЬСКИХ ЦЕЛЕЙ" @ СПУСТЯ МЕСЯЦ ПРИХОДИТ ГОВНОКОД НА ФОРТРАНЕ 2003
>>1695458 Если код хороший, задокументированный, то да. В моём случае код более менее, но какой-то over-engineered. А девелопер, у которого я могу консультироваться по проекту, не особо шарит. Приходится собирать по крупицам информацию о том, как что-то должно работать
>>1695458 Поддержка значительнее проще, можно поддерживать код фактически НА ЛЮБОМ языке, не зная ничего о нем. Но есть и минусы. На поддержке много опыта не заработаешь, и есть шанс, остаться в джунах-миддлах навечно
>>1695206 Всё так, компьютер-обоссайнтисты максимум накидывают прототипчик с 1000% оверхедом, чтоб доказать принципиальную возможность хоть что-то заимплементить из их пейпера. Вопросы эффективности, надёжности, удобства, поддержки их как бы не ебут, это уже работа софтваре-инженегров.
НА СОБЕСЕДОВАНИИ: @ "У НАС НА ПРОЕКТЕ ПИШУТСЯ ТЕСТЫ, СЛЕДЯТ ЗА КОДСТАЙЛОМ, ПРИДЕРЖИВАЕМСЯ АРХИТЕКТУРНЫХ ПРИНЦИПОВ" @ ПРИШЕЛ НА ПРОЕКТ: @ " НУ ЭТО, ТЕСТЫ ЕСТЬ, ИХ ВАСЯ НАПИСАЛ 3 ГОДА НАЗАД, НОВЫХ МЫ НЕ ПИШЕМ - НЕТУ ВРЕМЕНИ, АРХИТЕКТУРА? ДА ХУЯЧЬ, ЛИШЬ БЫ РАБОТАЛО"
>>1672674 >>1672301 @ РАБОТАЕШЬ ЖЕЛЕЗЯЧНИКОМ @ НЕ ТУШИШЬ ПОЖАРЫ С КЛИЕНТ-СЕРВЕРНЫМ ГОВНОКОДОМ @ ПОТОМУ ЧТО У ТЕБЯ ИХ НЕТ @ КАЙФУЕШЬ @ НАСЛАЖДАЕШЬСЯ ЖИЗНЬЮ @ ДО ПЕРВОГО KERNEL PANIC
РАБОТАЕМ ПО СКРАМУ @ "30-МИНУТНЫЕ" МИТИНГИ РАСТЯГИВАЮТСЯ ДО ЧАСА, ПОТОМУ ЧТО НАЧИНАЕТСЯ ОБСУЖДЕНИЕ ЧТО НАДО ДЕЛАТЬ @ РАЗ В НЕСКОЛЬКО ДНЕЙ ПРИЛЕТАЕТ "ОЧЕНЬ СРОЧНАЯ ЗАДАЧА ОТ ЗАКАЗЧИКА" @ ТИМЛИД НЕ РАБОТАЛ ПРОГРАММИСТОМ НИ ДНЯ, НО ВЫЛЕЗ ИЗ ПОЛУДЕВОПСОВ-АДМИНОВ-НА-3.5-ЧЕЛОВЕКА-КОМПАНИИ, БЛАГОДАРЯ ШЕРШАВОМУ ЯЗЫКУ И НЕ ПОНИМАЕТ В ПРОГРАММИРОВАНИИ, НО ПОНИМАЕТ КАК НАДО ВСТАВЛЯТЬ "ВУМНЫЕ" СЛОВА: ЗАЭНЕЙБЛИТЬ, ЛЕГАСИ, ОТЛАДКА БЕЗ СИМВОЛОВ, НАСЛЕДОВАНИЕ И УМЕЕТ "МУДРО" ЭТО ПОДКИНУТЬ К ТВОЕМУ ОТЧЕТЕ НА МИТИНГЕ ДЕЛАЯ ВИД ЧТО ОН В ТЕМЕ @ "ДА, ЗНАКОМАЯ СИТУАЦИЯ" @ "НАПИШИ В ТИКЕТ" @ "СКОЛЬКО ВРЕМЕНИ ПОТРЕБУЕТСЯ ДЛЯ РЕШЕНИЯ ЗАДАЧИ?" @ ПОДЪБЫ В САМОЙ ПРОСТОЙ ХУЙНЕ В СТИЛЕ: ЧТО ДУМАЕШЬ ПО МОЕЙ ПРОБЛЕМЕ РЕШАЮТСЯ ОЧЕНЬ ПРОСТО @ "ОБРАТИСЬ К ХУЮ#37 ОН РАБОТАЛ С ЭТИМ" @ "СЕГОДНЯ СПРОШУ У ОВНЕРА НА МИТИНГЕ ЧТО ОН ДУМАЕТ" @ ОЧКО НАЧИНАЕТ ТЛЕТЬ
>>1696401 Судя по всему, тимлид свою задачу выполняет.
Знает, к кому и за чем обратиться, налаживает коммуникацию в команде, держит на уровне мотивацию ("очко начинает тлеть" - это отлично! оно не горит, и при этом не слишком прохладное, а раз ты ещё не уволился от туда - температурка в самый раз!), следит за тасктрекером и за эстимейтами.
Хорошим разрабом должен быть техлид, и часто эта роль совмещается с ролью тимлида в одном лице. Но не всегда. Тогда роль техлида достаётся кому-то из старших разрабов. И если у вас в команде роль техлида отсутствует - это единственная (из пока озвученных) проблема тимлида.
>>1696436 Тимлид должен уметь на себя брать ответственность, а не заниматься роутингом, иначе это почтальон. Бугурт не все озвучивает, но есть проблемы хотяб такие: "как лучше поступить?", "Идем по направлению А или Б?", "переписывам код так или иначе?" Если сказать самому "Как переписываем код так или так? Я б наверное так.", то он и согласится Тимлид должен сказать как делать так или иначе, почему ТАК? А почему НЕ ТАК? "А хуй его знает" сказать не комильфо - вот и роутит на другого, и нахуй нужен такой тимлид если спрашивает у другого тимлида, который у нас на митингах как раз техом назначен? Или к ПМу идет спрашивает и передает?
>>1696458 >>1696436 Да и спросить-то мы сами можем, сами знаем какая команда и чем занимается их не миллион. Про компетенции тоже известно. Тамлидом я был это не просто роутер, да я согласен про комманикации, но тут должен чувствоваться человек который опора команды. Аходим на митинги потому что так положено.
>>1696458 >Тимлид должен уметь на себя брать ответственность Ответственность и так на тимлиде. Если что-то ёбнется - спрашивать будут с него, а не с тебя.
> не заниматься роутингом, иначе это почтальон Не роутинг, а делегирование. Выше в треде были воспламенения от того, что за них всё решают, а этот тимлид позволяет своей команде принимать решения - очень мудро.
> Я б наверное так.", то он и согласится Видишь, он доверяет твоей технической экспертизе. А мог бы потребовать обоснование.
> Тимлид должен сказать как делать так или иначе, почему ТАК? А почему НЕ ТАК? Не, не должен, это техлид/архитектор должен делать, если вопрос о технических решениях, или ПМ/эксперт в предметке, если о бизнесовых.
> и нахуй нужен такой тимлид если спрашивает у другого тимлида, который у нас на митингах как раз техом назначен? Или к ПМу идет спрашивает и передает? А нахуй ты бегаешь с техническими вопросами к тимлиду, а не к теху? А с бизнесовыми нахуй бегаешь к тимлиду, а не к ПМу?
Вот потому-то и нужет вам тимлид, что вы сами не можете теху/ПМу задать вопросы сразу, а бежите к тимлиду (заведомо зная, к кому он вас отправит).
>>1696487 >А нахуй ты бегаешь с техническими вопросами к тимлиду, а не к теху? А с бизнесовыми нахуй бегаешь к тимлиду, а не к ПМу? > Не пиши того чего не знаешь, я вообще не люблю бегать и выяснять и спрашивать только если совсем пиздец. Но это вообще может реже раза в месяц быть. А отчитываться на митингах нужно каждому, я б вообще ничего не говорил, а только в таски отписывался, но как хотят, так и делаем: "я сегодня пописол, а я вчера покакол".
>Вот потому-то и нужет вам тимлид, что вы сами не можете теху/ПМу задать вопросы сразу, а бежите к тимлиду (заведомо зная, к кому он вас отправит). Так построено, когда с бизнесом пришел к ПМу, тот сказал что только через тима решается, он должен в курсе мол быть.
>>1682967 Двачую. Хоть кто-то прочитал мануал по скраму. Сторипоинты в принципе наверно неплохая вещь, но мне как-то не приходилось работать в тимах, где их использовали, так что хз насколько они работают. Но эстимэйтить в часах я ненавижу
>>1696487 > Ответственность и так на тимлиде. Если что-то ёбнется - спрашивать будут с него, а не с тебя. Пиздеж, в этой стране всегда можно съехать на кого-то, дать ему пинка под жопу и дальше играть роль страуса. Сам через это проходил и знакомый также, и видел такое на одной работе с одним чуваком, который херачил как не в себя, но когда оказалось, что тимлид плохо спроектировал это говно, прибегали к чуваку.
> Не роутинг, а делегирование. Ой, блять, ахуеть. Тимлид нужен, чтобы спросить какого-то хуя почему у него переменная называется sosi_ganteli. Жду полную версию этой сказки.
> Видишь, он доверяет твоей технической экспертизе. Нахуй тогда тимлид вообще брал человека в команду, если он может не доверять его экспертизе? Что за ебанный насос, взять человека, чтобы ебать ему голову вопросами с собеседования?
> это техлид/архитектор должен делать техлид/архитектор не истина в последней инстанции, они и сами могут (и делают) косячат постоянно. приходить к ним за советом - очень глупо. нужно всегда иметь свою точку зрения, которую нужно доносить и пытаться остаивать.
Короче, вброс какой-то, и я повелся. Персонаж еще говорит, что тимлид нужен, чтобы согласовывать что-то с ПМ/заказчиком, но на самом деле для этого есть менеджер проектов.
>>1696957 прикольно же было расставлять квадратные скобки по проекту, чтобы что-то вызвать/создать/аллоцировать. интересно, как быстро разработчиков apple это заебало и они готовили план перехода на другой язык.
>>1697120 Свифт начали пилить очень давно. Autoreliase, ARC и модификатор weak в Obj-C пришёл с разработки Свифта. То есть когда в Obj-C появился ARC то Свифт был наполовину готов.
>>1697120 >прикольно же было расставлять круглые скобки по проекту, чтобы что-то вызвать/создать/аллоцировать. интересно, как быстро разработчиков это заебало и они готовили план перехода на хаскиль
>>1697531 1) Разве нет локальной истории? 2) Зачем откатывать на несколько коммитов назад? Обычно подразумевается, что тикет - это готовый функционал, кому надо половина его?
КОДИШЬ КОД @ МЁРЖИШЬ ДЕВ @ КОМПИЛИШЬ @ БИЛДИШЬ ИМАДЖ @ ПУШИШЬ @ НА СБОРОЧНОМ ДОКЕР-ХОСТЕ КОНЧИЛОСЬ МЕСТО @ ПЁРЖИШЬ СТАРЫЕ ИМАДЖИ @ УСПЕШНО ПУШИШЬ @ КРИК ИЗ ОПЕНСПЕЙСА: @ КТО ПЁРЖНУЛ МОЁ СТАРОЕ ГОВНО? @ ЖИДКО ПЁРЖНУВ НЕ СОЗНАЁШЬСЯ
>>1697687 Как-то сильно много геммора ради вахтерского желания тимлида видеть один коммит в PR или я чет не так понял. У нас просто все собирается в один коммит на этапе слива в мастер.
>>1697544 1) В PyCharm локально перезатерлось все. Щас увеличил память для истории.
2) Ну прост оказалось, что первый раз я сделал верно, потом после митинга неверно понял один момент и переделал, запушил второй вариант, коммит был с амендом. Это все было больше недели назад. Сегодня весь день потратил на то, чтобы восстановить изначальные правки. Если бы не это идиотское требование сливания в один коммит, день бы не был потерян зря.
Откуда эта жопоболь от МНОГАКОМИТОФ? Пользоваться гитом это вообще не мешает, диффы смотрятся за дипазон, суть часто теряется если большую часть собственно контроля версий взять и игнорить. Только ради плоской кладограммы истории?
>>1696960 Это какой-то девелопер до меня видимо так портировал ObjC на Swift. Он видимо почитал 5 минут про отличия второго от первого и начал хуярить. Там такой лютый пиздец, сплошные форсед анврапы и соответственно краши из-за них. Хочется всё это переписать на нормальный синтаксис свифта, но мне вряд ли выделят бюджет на это. Как-нибудь попрошу время у менеджера. Нет - тогда буду переписывать по кусочкам, когда буду что-то фиксить
>>1697531 > ТИМЛИД ТРЕБУЕТ ДЕЛАТЬ СКВОШ ПЕРЕД ОТКРЫТИЕМ PULL REQUEST Выписать бы этому уёбку пизды от вышестоящего начальства. Хорошо, хоть у меня на проектах никогда не было таких тупых требований
@ REQUEST @ RESPONSE JSON, CODE 200 @ { "error": "Invalid data", "errorReason": "Data is invalid" } @ УЛЕТАЕШЬ НА СВОЕМ ПЕРДАКЕ ДО ДОМА БЕКЕНДЩИКА, ПОСЛЕ ЧЕГО ЛОМАЕШЬ ЕМУ РУКИ И УЧИШЬ КОДИТЬ И ФОРМИРОВАТЬ РЕСПОНСЫ
>>1697847 >бекенд-господов Маня, плес. В том-то и дело, что сейчас среднестатистический фронтенд в разы умнее и прошареннее бекенд макак. Бекенд вообще не видит нихуя дальше своего носа, не может в архитектеру и оптимизацию, эти вещи спрашивают именно с фронта. Причем это даже не мои выдумки, а элементарные наблюдения во всех фирмах, где работал (4 штуки за последние 7 лет), и истории друзей про их коллективы и как между собой отличаются люди на соответствующих позициях.
>>1697854 Мой опыт ровно наоборот. Беки умеют во всякие архитектуры и прочее дерьмо, да и еще бонусом во фронтенд (умеренно, не как чистые фронтендщики, причем самое слабое место -верстка, а не логика). Это вброс у тебя? Так то фронты тоже многие умеют в бек, хоть и похуже, чем задроченные беки (совершенно аналогично получается). Добавь к этому еще и девопс. О чем вообще говорить радикально по поводу такого разделения, если в сущности шаг в сторону - и ты уже фулстек? мимо. я не тот, кому ты отвечал
>>1697765 как же утренний ребейз производить с пачкой коммитов, на каждый из которых может быть конфликт? практика сквоша коммитов на этапе мержа очень не рекомендуется в больших командах. если исходная ветка содержит большое количество коммитов, каждый из которых - отдельная задача, значит, у вас неправильно выстроены процессы и нет CI.
>>1697770 2) подожди, то, что ваш тимлид мудозвон не делает практику слития в один коммит одну неделимую задачу хорошей практикой. одна задача - один коммит. где-то их именую под тикеты в джире, где-то нотацией, но это хорошая пратика, которая позволяет видеть историю, а не бесконечные fix, fix another, fix some shit и т.д.
>>1697777 блять! мне иногда кажется, что команды на 20 человек - это не про двачеров. смысл простых коммитов, чтобы их можно было откатить, если нет репозитория с заранее выкаченными сборками, и в том, что если что-то ломается на проде, то можно раскатывать на тестинге ветку без очередного функционала просто беря хэш по гит логу.
>>1697861 так фронты тоже умеют всякие архитектуры, это не показатель, просто от конкретного человека зависит. я фронт и знаю очень крутых беков, до которых мне как до луны, очень прошаренные люди, которые прошли путь от python/c++ до c++/rust для машинного обучения. а бывают всякие phpэшники, которые в массе своей долбоебы и просто ленивые жопы.
>>1697932 Именно пхпшники? Каким образом в твоем понимании используемый (или даже предпочитаемый) язык для бекенда связан с когнитивными способностями? Я вот тоже пхпшник, но последнее время питонист, и бывало малость джавист/шарпист. Везде одни и те же люди сидят, только с разными предрассудками относительно друг друга, как по мне.
>>1698032 у меня на проекте за неделю прилетает где-то пару тысяч строчек кода и ребейз делать надо каждый день, чтобы править маленькие конфликты, в которых я еще могу разобраться, чем если бы я ребейзился в конце задачи, когда конфликты могут быть на половину файлов.
>>1698119 >>1697917 > пачкой коммитов, на каждый из которых может быть конфликт
можно и нужно ребейзить пачку коммитов, если каждый коммит - это отдельная задача, иначе можно решать одни и те же конфликты, относящиеся к одной задаче, когда у тебя фикс перелопачивает тот же файл и ты заново решаешь конфликты по этому файлу.
Вообще, если у тебя в ветке много задач, значит, что вы медленно выкатываете релиз. Это не очень круто, нужно согласовать формальные критерии приемки в виде тестов и списка задач на выкатку, чтобы не ебаться с долгоживущими ветками.
>>1697961 >Чем костыльнее сам язык, тем костыльнее будет писаться код на нем. Ну, в php дествительно есть не оче... >так фронты Подождите, это javascript животное кукарекает?
На фоне джаваскрипт кала пых - это язык богов, на котором олимпийские боги пишут между попиванием амброзии и ёблей нимф. Любой язык хорош по сравнению с js говном. Когда на динамический язык из года в год накручивают обертки, которые компилируются в него, лишь бы не писать на нативе, это о многом говорит. Гнать на пых со стороны фронта - это как будучи обосранным спидозным пьяным бомжом кричать прохожим, что у них пыльные ботинки.
И тебя мало обосрали в предыдущем треде, rest идеолог?
>>1698494 > Подождите, это javascript животное кукарекает? шиза подъехала
> пых - это язык богов ой, блять, было время писал я на твоей пыхе и каждый раз аухевал от чтения документации по нему, особенно когда читал про новые крутые фишки языка, которые были алиасами под существующие решения.
> Когда на динамический язык из года в год накручивают обертки, которые компилируются в него, лишь бы не писать на нативе, это о многом говорит. Я так люблю такие аргументы. Да, понимаю, ты не разобрался, зачем создавали FlowJs, TypeScript, какие у них есть иъяны и как легко заставить их делать ошибки, но одно могу тебе сказать, JavaScript - ахуенный язык, потому что над ним работает комитет, который постоянно перетирает как сделать его лучше, который обсуждает с сообществом фишки, которые помогут разработчикам спать и жить лучше. Даже полифилы - это часть деплоя нового функционала. И по секрету могу тебе сказать, что код на ts и js одинаков, если ты понимаешь, как надо писать.
> rest идеолог Слышь, на рест не гони, пидор. Пока grapqhl не запилишь, помалкивай.
>>1698243 Где сказано, что одна задача на этапе разработки должна быть ровно в одном коммите? Вы че тут все всегда аммендите в один коммит и это норм? В чем тогда смысл версионности кода? Сейчас ведь речь именно про этап разработки, а не про этап внедрения в мастер, лол. Я не спорю с тем, что в мастере одна задача должна быть представлена одним коммитом. У меня вызывает сомнения обязательный сквошинг всех коммитов по задаче перед созданием PR, когда теряется вся история разработки.
>>1698775 Попробую максимально прямо сказать. Всем похуй, как ты будешь вести свою ветку, одним коммитом, пачкой. Главное, чтобы под задачу был один коммит, если на выходе у тебя так и получается, может пускай и большей болью, то это твой выбор. Если ты любишь ребейзить триста коммитов перед сквошингом, на каждый из которых получать конфликт - твое решение, твоя жизнь - твои правила. Конкретно твой тимлид может просто боятся, что ты забудешь поставить сквошинг перед мержем и просит тебя сквошить заранее. Конкретно в моей команде, мержит сам тимлид, поэтому он может просто попросить посквошить, если все ок, формальных требований по количеству коммитов в ветке нет.
>>1698622 >Да, понимаю, ты не разобрался, зачем создавали FlowJs, TypeScript, какие у них есть иъяны и как легко заставить их делать ошибки Их создавали, потому что js - спидозное кривое ублюдочное ни на что не способное говно, на котором нельзя писать код. Его монопольность в браузерах - единственная причина, по которой он не выкинут к хуям на помойку. Все проблемы тайпскрипта связаны с тем, что ему приходится компилироваться в сраный js. >потому что над ним работает комитет, который постоянно перетирает как сделать его лучше, который обсуждает с сообществом фишки, которые помогут разработчикам спать и жить лучше. >в 2020 году в языке нет неймспейсов Ясно.
>>1698791 >Главное, чтобы под задачу был один коммит, если на выходе у тебя так и получается, может пускай и большей болью, то это твой выбор. Это не мой выбор, о том и речь. Это жесткое требование от лида, и я тут пытаюсь понять его логику.
>Если ты любишь ребейзить триста коммитов перед сквошингом, на каждый из которых получать конфликт - твое решение, твоя жизнь - твои правила. Никто никогда не держит 300 коммитов в ветке, не надо все сводить к абсурду. Связанные коммиты всегда аммендятся. Плюс, я так и не понял, в чем разница между резолвом конфликтов, когда у тебя 300+ коммитов в ветке, и когда он один - ты все равно делаешь еще один коммит с правками.
В общем, почитав ответы в треде, я пока пришел к мнению, что требование одного коммита в PR - это тупо вахтерство. Потому что если PR не содержит конфликтов с мастером, и код устраивает, то все эти 300+ коммитов сквошаться в самом гитхабе в один коммит перед мержем без проблем.
>>1698032 > ребейзить нужно каждый день, чтобы не отставать от целевой ветки, иначе финальный сквош может выявить несовместимые конфликты ПИШУ НА ЭЗОТЕРИЧЕСКОМ ЯЗЫКЕ @ ПО ВЕТОЧКЕ НА ЗАДАЧЕЧКУ @ В ОТДЕЛЬНОМ РЕПОЗИТОРЧИКЕ @ В ЖИЗНИ НЕ РЕБЕЙСИЛ @ БАРИН ЗА МЕНЯ МЕРЖИТ В МАСТЕР Антибугурт. Всем добра.
>>1698820 >js - ни на что не способное говно Но это же не так, он способен на многое. Твой аргумент инвалид. >на котором нельзя писать код Это тоже не так, на нём можно писать. Этот аргумент тоже инвалид.
Есть таблица с 2мя секциями, в первой секции всегда один элемент, во второй секции остальные, при нажатии на ячейку во второй секции одна должна перейти в первую, а та ячейка ясен пень вниз дата сорс у меня такого вида чтобы по секциям разделять var data = [[DataViewModel](),[DataViewModel]()], там в модели есть isSelected параметр
Короче как в дид селекте правильно сделать логику, потому что у меня костыль пикрелейтед
>>1698494 Ох блядь, не могу не согласиться. Мимо 10 лет фулл стек, почти всё время прогал и на пыхе и на жабоскрипте. Да, жабаскрипт постепенно доводят до ума. Но пыху уже довели до ума, а код серверов на ноде, даже в самых модных фреймворках - это беспросветный пиздец
>>1700403 Тоже повидал сервера на ноде, как правило лапша с дырами в безопасности. Ничего не хочу говорить против технологии, но почему то другого кода мне не удалось увидеть.
>>1700526 Зато хуяк хуяк и в прод. Алсо, я как-то сильно сомневаюсь, что многие жсеры без тс вообще в состоянии думать архитектурно наперед. Даже помидоры с опытом. Язык сам собой приучает быть здесь и сейчас и не думать о сложности.
>>1700586 Действительно, все эти бесконечные паттерны и нормализации данных на клиенте, разного рода оптимизации на кеширование и предзагрузку - это все хуета. А вот пыха на сервере, это конечно, архитектура наперед. Напомните мне, пыхеры, как там у вас дела с асинхронностью, добавили в язык или все также пользуюсь сторонней либой?
>>1700526 Было время, я писал проксирующий сервер на ноде и редисе, потому как бекэндеры на питоне не могли это осилить. На соглсование api и саму реализацию ушло несколько дней. Это неправильно сравнивать теплое с мягким. Писать на ноде тяжеловесный бекэнд можно только с wasi, в других случаях лучше брать go. Но как возможность дергать внутренний api бекэнда и пилить себе запросы - nodejs очень хорош.
>>1700762 Не, дядя, до хайлоада мне еще далеко, а производительность ноды на графкуэль решается прозводительностью базы и/или сетевыми задержаками. уверен, что работает ни лучше и не хуже любой другой связки.
>>1700923 > highload - русское изобретение Обоссан пикрилом. Просто русские не понимают, что некоторые термины пишутся как отдельные слова. Ну а немцы любят склеивать прилагательные и существительные в одно слово, поэтому пишут highload
УСТРАИВАЕШЬСЯ ПОСЛЕ УНИВЕРА ПОГРОМИСТОМ @ ХУЯРИШЬ КОД БЕЗ ОСТАНОВКИ @ РАБОТАЕШЬ 5 ЛЕТ В ОФИСЕ @ ЗАЕБАЛО СИДЕТЬ В ОФИСЕ 8/5, ПЕРЕКАТИЛСЯ ВО ФРИЛАНС @ ЗАЕБАЛО РАБОТАТЬ В СВОЕЙ КВАРТИРЕ @ РАБОТАЕШЬ В КВАРТИРЕ У РОДИТЕЛЕЙ @ И ТАМ ТОЖЕ ЗАЕБАЛО @ НА УЛИЦЕ НЕУДОБНО ИЛИ СВЕТИТ СОЛНЦЕ @ РАНЬШЕ В ТАКИХ СЛУЧАЯХ РАБОТАЛ НА НОУТЕ В КАФЕШКАХ И ТРЦ, НО СЕЙЧАС ТАМ КОРОНАВИРУС @ КУРОРТЫ НА КАРАНТИНЕ, ДА И РАБОТАТЬ НА ОТДЫХЕ НЕ ПРИКОЛЬНО @ ПЬЁШЬ ЭНЕРГЕТИКИ, ЧТОБЫ ПРОСТО ЗАСТАВИТЬ СЕБЯ СЕСТЬ ЗА КОМП И ОТКРЫТЬ IDE
РЕШИЛ ВКАТИТЬСЯ В ПОГРОМИРОВАНИЕ @ ВЫБИРАЕШЬ ЯЗЫК ИСХОДЯ ИЗ СВОЕГО ОПЫТА НА С++ @ В ШКОЛЕ @ НА ЛИСТОЧКЕ @ ВЫБИРАЕШЬ ПИТОН ПО СОВЕТУ АНАНАСА @ НИХУЯ НЕ ПОНИМАЕШЬ КУДА ИДТИ @ НАХОДИШЬ КУРСЫ ЗА 300КК @ "НЕ, В ПИЗДУ" @ БЕРЕШЬ БЕСПЛАТНЫЙ КУРС @ ПРОХОДИШЬ @ ДУМАЕШЬ УЖЕ О ВЛАЖНОЙ ЗАРПЛАТЕ ОТ 40К+ И УДАЛЕНКЕ @ РАЗМЫШЛЯЕШЬ О ВЗЯТИИ ПЛАТНОГО КУРСА @ СПРАШИВАЕШЬ НА ПРОГРАММАЧЕ НАЕБАЛОВО ЛИ ТОТ ИЛИ ИНОЙ КУРС @ "ВСЕ КУРСЫ - НАЕБАЛОВО" @ НАЧИНАЕШЬ ЗАДУМЫВАТЬСЯ, ЧТО ЖЕ ХУЖЕ - КУРСЫ ЗА 300КК ИЛИ СОВЕТЫ С ДВОЩЕЙ @ НЕДОЛГО ДУМАЯ ВЕШАЕШЬСЯ НА ПРОВОДЕ ОТ ХАРДА НА КОТОРОМ СТОИТ ПИТОН\ реально, разве все курсы - наебалово?
ТЫ ПИТОНЯША @ ДАЛИ ПРОЕКТ, КОТОРЫЙ НУЖНО ПЕРЕНЕСТИ НА ТВОЙ СТЕК @ ПРОЕКТ НА ЖАБЕ @ ВИДИШЬ ЖАБУ ВЖИВУЮ ПЕРВЫЙ РАЗ В ЖИЗНИ @ АБСОЛЮТНО ВЕСЬ КОД ВЫГЛЯДИТ КАК БОЙЛЕРПЛЕЙТ @ ПАБЛИК СТАТИК ХУЯТИК @ СОБАКА ЭНТИТИ СОБАКА ТЕЙБЛ СОБАКА ДАТА @ ПРАЙВАТ ЛОНГ ЮЗЕРАЙДИ @ ПАБЛИК ГЕТ ЮЗЕРАЙДИ РЕТУРН ЮЗЕРАЙДИ @ ПАБЛИК СЕТ ЮЗЕРАЙДИ ЮЗЕРАЙДИ РАВНО ЮЗЕРАЙДИ @ ДВА ДНЯ ТРАТИШЬ НА ТО, ЧТОБЫ НАЙТИ СЛЕДЫ БИЗНЕС-ЛОГИКИ @ НА ЖОПНОЙ ТЯГЕ ДОЛЕТАЕШЬ ДО ОФИСА ORACLE
>>1706572 Поддвачну. Сеттеры и геттеры в жабе бесят - нечитабельно. Во всех нормальных языках есть свойства, которые автоматически вызывают аксессоры. И особенно весело, когда класс на овер 100 строк состоит и аксессоров
>>1706867 > И особенно весело, когда класс на овер 100 строк состоит и аксессоров А на нормальном ЯП то же самое занимает 10 строк, потому что тривиальные аксессоры не нужно писать, их генерирует компилятор
>>1706875 Лучше написать 10 строк свойств, которые поддерживаются на уровне языка, чем десять говноанотаций которые будут разматываться в компайл тайме по хитровыебанной логике очередного фреймворка.
>>1707135 Лучше только для Хуяк хуяк в продакшен архитектура-коровам хвосты, а в случае если делают нормально, то там просто нет потребности в таких костылях. Выкидывать exception в глобал стейт - это уровень дерганья глобальных переменных в ОАО Гавно на С++ в начале нулевых.
>>1706572 Вот тебе больно будет, если попадешь после меня (или кого-то вроде меня) на мой нынешний проект, где я на питоне пишу аналогично. Потому что нехуй. Пайтон-вей в один файл и строчек поменьше для дебилов. Проект, если че, пишется уже 2 года, так что переписать на привычный питоебам говнокод так сразу не получится. С теплотой в душе буду думать о страданиях недолюдей, когда передам им проект. Вообще так много кто пишет, т.к. какой-нибудь DDD не привязан к языку, а просто является набором принципов и рекомендаций по построению хорошего кода. А многословность вообще не проблема, если все в итоге работает как часы.
>>1707382 Не понял о каких проверках. В данном примере и подобных должно быть так:
if (!IsAddressValid?(address)) return "Address is not valid" // или другое что нужно
Exception нужен только, когда flow выпадает из рамок доступного. В конюшнях легаси начинают выкидывать исключения в глобал стейт, потому что там на столькоих слоях всё размазано по фабрикам, что чёрт ногу сломит понять что кого и чего вызывает и дергает, поэтому к такому костылю прибегают. Хотел бы отметить, что проблема не в exception, а в exception-driven application flow, и такие фукнции являются следствием такого дизайна, но никак спасением и решением проблемы такой костыль считать нельзя, насколько полезен он бы не был локально.
>>1707453 >проблема не в exception, а в exception-driven application flow Удвою. Юзают исключения как средство rad разработки за нехуй срать. Не надо так.
>>1707466 Всё хорошо, но только до тех пор пока тебе не нужно узнать по какой причине Adress is not valid, будешь вводить дополнительную переменную, которую у тебя вернет IsValidAdress? И что будешь делать с кучей стандартных классов, которые могут вызвать Exception? Где-то этот Exception всё равно придётся ловить. Взять твой пример, если GetAddressFromContext выбросит Exception, то твой "правильный" код упадёт, в то время как "неправильный" продолжит выполнение и вернёт сообщение эксепшена, дав понять что именно произошло.
>>1707513 Да забей ты. Есть на самом деле только два пути: 1. Полный контроль над происходящим. Способ выбрать самому (например ReturnValue). 2. Контроль только над чувствительной логикой, все остальное в трубу. Это пусть повсеместных эксепшенов. Сам прошел путь от 2 до 1. Переубедить не выйдет, просто рано или поздно начинаешь сокращать использование исключений под давлением слабо контролируемого исполнения вплоть до почти полного отказа от них. Так что пусть страдают хуйней, чуть погодя передумают.
>>1707513 Все try/catch должны быть внутри каждого модуля и внутри каждой функции и внутри каждого блока функций, в которых они могут возникнуть, функции должны возвращать ИСКЛЮЧИТЕЛЬНО то, что в подписи и оперировать с этими данными, а не с exception.
>>1707135 Ничем не лучше. Ты не шаришь вообще для чего нужен эксепшн - это обработка исключительной ситуации, а неправильно введеная юзером строка под это определение не попадает. А в конкретном примере я уж молчу про название метода, которое явно подразумевает в ретурне булеан.
>>1707466 >>Public Static >>Pravilno А создать и заинжектить бин AddressValidator не проще будет? Алсо ты потом из стринга результат в буль парсить будешь? Например, чтоб понять двигаться дальше по логике или вернуть ошибку пользователю? Кинул new AddressValidatorException("address ne pravelny") да и все - обработчик ее перехватит и отдаст пользователю нужный текст.
>>1707526 Чем отличается невалидный email введенный пользователем, от невалидного sql запроса? Почему последнее бросает исключение, а первое не должно?
>>1707520 Ну в идеальном мире да, но мы живём в мире в котором даже несколько случаев сложно предугадать, не говоря уже о предугадывании всего и вся. Ты конечно будешь пытаться делать "ДОЛЖЕН ИСКЛЮЧИТЕЛЬНО", но в итоге увидишь какой у тебя говнокод получается, либо заебешься вносить в него правки и просто начнёшь ловить важные для тебя исключения и игнорировать все остальные.
>>1707680 В данном случае нет ошибки? Другой пример, функция IsItNumber(dynamic value), тоже исключения выкидывать будете если value is not number? Лол, другое IsAEqualsB(obj a, obj b), тоже выкидывать будете вместо true/false?
>>1707718 Ты идиотские примеры приводишь. Функции IsЧтоУгодно так и так возвращают boolean , они блядь для того и нужны. Они птому так и называются, потому что результатом должно быть либо да либо нет.
А вот функция sendmail(to, from, message) долна триггерить исключение, если to и from невалидные.
>>1707519 > Java and C++ make you think that the new ideas are like the old ones. Java is the most distressing thing to hit computing since MS-DOS. I invented the term Object-Oriented and I can tell you I did not have C++ in mind. Alan Kay, OOP inventor
>>1707723 Так мой первый пост-бугурт как раз и был про функцию IsValidAddress? и ей ПОДОБНЫЕ, которые и должны иметь возвратные данные вместо исключений.
Про такие как sendEmail(), writeLogToDb() и подобное - я абсолютно согласен, тут нет вопросов. Бугурт был именно про первый тип функций.
>>1707723 Следовательно, я делаю вывод, что тебе повезло не видеть в продакшене функции с очевидным возвратом, которые вместо этого выкидывают исключения и ты не понял о чём бугурт.
>>1707829 >Ну, если там что-то вроде Господи, ты в глаза долбишься? Весь тред о том, что она не try/catch внутри делает, а ВОЗВРАЩАЕТ исключение вместо булеан. Всё, возвращайся в крудошлепства свои.
>>1707742 Тем временем в практичном для повседневного использования питоне: # никакие геттеры и сеттеры не нужны, просто без задней мысли берёшь и обращаешься к полю объекта
>>1707878 >практичном для повседневного использования >без задней мысли берёшь и обращаешься к полю объекта В практичном повседневном написании лаб это и правда работает.
>>1707878 Только в итоге все равно вызывается геттер или сеттер через синтаксический сахар, для этого используются декораторы или дескрипторы. Так работает орм например.
>>1707554 >>1707530 У вас есть валидатор и объект, который собственно ожидает мыло (к примеру).
$validator->proveritUserGovno ($userGovno) вернет false или true.
А вот уже сервис, который работает с собственно мылом, смело может бросать исключение если валидатор проебланил и отдал ему хуйню.
>>1707097 Конченное блядство, нодискасс. Такие функции существуют только и исключительно для того, что бы вернуть false и не ебать код дальше. Единственный сценарий, при котором это не адский пиздец, а нехорошо - это приватная внутренняя функция класса, которая проверяет хуйню на последнем шаге и при штатной работе не кинет исключения никогда.
>>1707878 >не нужны У вас, обгвидков, много чего не нужно. ООП гвидопыха, конечно, не такое посмешище, как ООП протопыха, но всё равно посмешище дикое.
>>1708580 Чем кастрированный кусок говна на питоне лучше пыховсского? Уже который раз слышу эту мантру, но эта хуйня еле еле юзаемая вообще, и то через официальные костылики. Я на этой параше давным давно работаю, хуже реализации ООП чем в питоне даже так сразу не припоминается.
>>1708617 Посмотри ООП в Perl (я его протопыхом назвал в соответствии с пастой) и охуей. Про PHP не знаю, люди бают что реально в нём что-то исправили.
>>1708622 В пыхе стандартное ООП спертое с джавы, вообще никаких почти особенностей относительно других сиобразных языков, разве что трейты выделяются как образец узаконенного копипаста классов
>>1707554 Если пользователь ввёл неправильный емэйл - это обычная ситуация, он может ошибаться. А если запрос sql невалидный, значит ошибка в коде - это исключительная ситуация и это надо фиксить.
>>1708170 Ну наконец то, соизволили хоть так облегчить этот ад. В нормальных языках для декларации свойства и @getter @setter не нужны. Просто пишешь property или var. В последнем случае это можно быть или поле или свойство, если у него есть аксессор(ы)). Кстати, даже с @Getter и @Setter ведь всё равно надо писать setX(.............), что не очень то читабельно по сравнению с x = ......
>>1709210 Это скорее всего какой-то лютый костыль, потому что где-то старый код работает на эксепшене и всё это говно переписывать слишком долго, а пофиксить надо было вчера
ГОДАМИ ПИШЕШЬ КРУДЫ И ИНТЕГРИРУЕШЬ ВСЯКИЕ АПИ @ ОТ СЛИШКОМ ПРОСТОЙ И ОДНООБРАЗНОЙ РАБОТЫ УЖЕ БЛЕВАТЬ ХОЧЕТСЯ @ ЧУВСТВУЕШЬ, ЧТО ТУПЕЕШЬ ОТ НЕЁ @ НА ПЕТ ПРОЕКТЫ НЕ ОСТАЁТСЯ СИЛ @ ДАЛИ ТАСК, ГДЕ НАДО ЗАПИЛИТЬ БОЛЕЕ МЕНЕЕ СЛОЖНЫЙ АЛГОРИТМ @ ТУПИШЬ @ А ВЕДЬ РАНЬШЕ ВХОДИЛ В ПЯТЁРКУ НА ОЛИМПИАДАХ ПО ПРОГРАММИРОВАНИЮ, ХУЯРИЛ ПЕТ ПРОЕКТЫ С МАТАНОМ, ИГОРИ, КОМПИЛЯТОРЫ И ИНТЕРПРЕТАТОРЫ, БАЛОВАЛСЯ АСМОМ
>>1709348 Как будто там не то же самое. Как раз таки из Яндекса люди уходят чаще по причине быстрого отупения. Достаточно сходить на любую конфу в Яндекс, послушать доклады, чтобы понять, что где-то уже обсуждалось и не один раз, а Яндекс только только догоняет мировые тренды.
>>1709309 Ну я нашёл баланс. Иногда добавляю какие-то интересные мелочи, о которых меня не просили. Но такое прокатывает в основном с богатыми клиентами
>>1709388 Пример как в свифте. Было var x: Int. Надо сделать инкапсуляцию. Делаешь var x: Int { set { if ... x = newValue else x = .... } }. Можно вместо set делать onSet, если не нужно влиять на значение, а просто обновлять что-то ещё. Насколько помню, в сисярпе похоже сделано. Да даже пхп умеет вызывать setX() и getX() как свойство, т.е a.x = b или b = a.x
- ЗДРАВСТВУЙТЕ, Я ПРЕДСТАВИТЕЛЬ КОМПАНИИ "HUYNYASOFT", У НАС ЕСТЬ ВАКАНСИЯ, КОТОРАЯ МОЖЕТ ВАС ЗАИНТЕРЕСОВАТЬ @ - СПАСИБО ЗА ПРЕДЛОЖЕНИЕ, НО Я ОТКАЖУСЬ, У МЕНЯ НЕДОСТАТОЧНО ЗНАНИЙ ПО %ТЕХНОЛОГИЯНЕЙМ @ - Я ПОГОВОРИЛА С ТИМЛИДОМ ПРОЕКТА, ЕМУ ПОНРАВИЛОСЬ ВАШЕ РЕЗЮМЕ, ОН ВСЕ РАВНО ХОЧЕТ С ВАМИ ПООБЩАТЬСЯ @ - ЛАДНО, ДАВАЙТЕ СВЯЖЕМСЯ @ ЧЕРЕЗ НЕСКОЛЬКО ДНЕЙ ПОСЛЕ СОБЕСЕДОВАНИЯ @ - ПОЛУЧИЛИ ОТВЕТ ОТ ТИМЛИДА. К СОЖАЛЕНИЮ, МЫ ВЫНУЖДЕНЫ ВАМ ОТКАЗАТЬ, ПОТОМУ ЧТО У ВАС НЕДОСТАТОЧНО ЗНАНИЙ ПО %ТЕХНОЛОГИЯНЕЙМ, А ЭТО ДЛЯ НАС КРИТИЧНО. ДАВАЙТЕ ОСТАВАТЬСЯ НА СВЯЗИ.
ВЫ НЕБОЛЬШАЯ КОМАНДА РАЗРАБОТЧИКОВ, ДИЗАЙНЕР И ТЕСТЕР @ ТЕПЛО ЛАМПОВО ПИЛИТЕ ФИЧИ И РЕЛИЗИТЕСЬ @ КОМАНДА РАСШИРЯЕТСЯ @ ПОЯВЛЯЕТСЯ СТОЛЬКО ЖЕ ТЯНОК @ НАЧИНАЮТСЯ ОБИДЫ НА РОВНОМ МЕСТЕ @ ИГНОРИРУЮТСЯ ВОПРОСЫ, ЗАДАННЫЕ ПО РАБОТЕ @ МНЕНИЕ, ОТЛИЧНОЕ ОТ СВОЕГО ВОСПРИНИМАЮТ КАК УГРОЗУ @ ОБСУЖДЕНИЯ СТАЛИ ДЛИННЫМИ И БЕССМЫСЛЕННЫМИ
>>1710108 КОМАНДА БЕЗ ТЯНОК: @ "СЕРЫЙ, ПОПРАВЬ ЭТУ ХУЕВИНУ СЕГОДНЯ" @ "БЛЯ, ЗАКАЗЧИК СНОВА ХУЙНЮ ПРОСИТ" @ "ПАЦАНЫ, ЗАЦЕНИТЕ МЕМЧИК ПРО НИГЕРОВ" @ @ КОМАНДА С ТЯНКАМИ: @ "СЕРЕЖА, ПОПРАВЬ ЭТУ ШТУКУ СЕГОДНЯ" @ " ЧТО-ТО ЗАКАЗЧИК ПРОСИТ ЧТО-ТО НЕПОНЯТНОЕ, НАДО УТОЧНИТЬ" @ "ДОРОГИЕ ДАМЫ, ХОТИМ ВАС ПОЗДРАВИТЬ С МЕЖДУНАРОДНЫМ ЖЕНСКИМ ДНЕМ"
>>1710127 БУДЕМ ДЕЛАТЬ ТАК @ НО СМОТРИ, ЕСЛИ МЫ НЕМНОГО ВОТ ТУТ ПОМЕНЯЕМ, ТО БУДЕТ НАМНОГО ПРОЩЕ И БЫСТРЕЕ @ НЕТ @ НО РЕЗУЛЬТАТ ОДИН И ТОТ ЖЕ @ НЕТ @ ПОЧЕМУ НЕТ? @ Я СКОЗАЛА
>>1710138 до тян: БУДЕМ ДЕЛАТЬ ТАК @ НО СМОТРИ, ЕСЛИ МЫ НЕМНОГО ВОТ ТУТ ПОМЕНЯЕМ, ТО БУДЕТ НАМНОГО ПРОЩЕ И БЫСТРЕЕ @ СХЕРАЛИ? МОЁ ПРЕДЛОЖЕНИЕ САМОЕ ЛУЧШЕЕ @ ПОТОМУ ЧТО ПРУФ1, ПРУФ2 И ПРУФ3 @ БЛЯЯЯ, ТОЧНО, ТВОЙ ВАРИАНТ ПРОЩЕ, СДЕЛАЕМ ТАК
Какое же XCode говно. С каждым годом всё хуже и хуже, выдаёт какие-то тупые ошибки, которые не передают причину не неуспешной компиляции, какие-то глюки, крэши, пиздец просто. Не говоря уже о том, что засирает веник гигабайтами временных файлов, которые приходится чистить сторонними прогами, иначе ему не хватит и 10 терабайт
>>1710907 Так то в аппкоде дебаг может и похуже (потому что в xcode всегда всё максимально интегрировано с последними изменениями в компиляторе), нет интерфейс билдера, но в остальном оно лучше
Ребят, объясните плиз, в чем прикол биться башкой об React Native и Flutter, ловить там кучу проблем вместо того, чтобы делать тоже самое с Swift и Kotlin, результат которых лучше и внешние либы к которым прикручиваются на раз два.
>>1713764 Рыночек хочет сэкономить на количестве разрабов и общей кодовой базе. Иногда даже получается, но чем сложнее, тем пососней и дороже результат относительно нейтива
>>1713770 И за весь этот зоопарк говорить спасибо надо эплу с их прибитым гвоздями вендорлоком. Аналогичное могли еще на виндофонах получить. Это так, мысли в слух, не по теме.
>>1671746 (OP) боже, какие идиоты со мной работают. один сисадмин вместо того, чтобы подключить мне доступ к папке пишет мне команду cmd которая вырубают нахуй мой удаленный стол. другой аналитик вместо того чтобы описать нормально ТЗ и юзкейзы по сто раз изменяет ФЗ и создает кучу "баго" - по сути не описанный функционал другой тестер из той же удаленной компании с аналитиком вместо того, чтобы дать нам доступ в их систему - тупо пересылает нам скриншоты, что у них все ломается, а мы в душе не ебем, что они там от нас ожидают, мы отправляем им все в их же xml/xslt схемах
Я ебу хочется просто взять и уволиться, единственное, что доставляет - это кодить на новых технологиях вне работы, уже тупо на работу забиваю и кодю петпроекты для души
>>1713764 >ловить там кучу проблем До версии 60 были проблемы, сейчас вроде бы нет, если не использовать сторонние библиотеки то приложение стабильно работает. Нахуя нанимать капризного Swift разработчика за 1000рублей в час если можно нанять двух React Native разработчиков за 400руб и они в несколько раз быстрее склепают приложение, да оно будет медленнее но зато быстрее конкурентов и дешевле.
>>1674046 > часто именно фронты просят делать такую хуйню Ты зарабатываешь деньги за качественное апи, а он за margin-left: 10px. Отдаешь описание эндпоинтов в сваггере, и пускай ебутся как хотят
>>1714720 >Ты зарабатываешь деньги за качественное апи, а он за margin-left: 10px. Потом такой пердолик пихает 140 элементов для одной строчки. Зато апи качественное, да.
>>1714678 > Swift разработчика за 1000рублей в час если можно нанять двух React Native разработчиков за 400руб Это не так, стоимость RN разраба зачастую равна стоимости Swift / Kotlin разраба, потому что фронтэнд сегодня - это не просто клепание формочек с jQuery, но довольная большая инфрастуктура, которая стоит денег.
> они в несколько раз быстрее склепают приложение Такое редкостное вранье. На опыте двух разрабатываемых приложений видел как Swift с Java/Kotlin разрабом ноздря в ноздрю выпускали приложение за полгода и видел, как один RN разраб год пилил приложение, где постоянно придумывал как вставить очередной костыль.
> да оно будет медленнее но зато быстрее конкурентов и дешевле Эту мантру рассказывают ушлым бизнесменам, которые хотят сэкономить на мобильной разработке, обычно, у RN есть полгода, прежде чем все понимают, что приложение превращается в тыкву.
СТУДЕНТ ПОСЛЕ ВУЗА @ НА СПРАВЛЯЕШЬСЯ С РАБОТОЙ @ ЗНАНИЙ НИХУЯ @ ШИЗА @ ПИШЕШЬ ЗАЯВЛЕНИЕ, ЧТО ХОЧЕШЬ УВОЛИТЬСЯ @ В ЛИЧНОМ РАЗГОВОРЕ ЧЕСТНО ПОЯСНЯЕШЬ, ЧТО У ТЕБЯ НЕ ПОЛУЧАЕТСЯ, ТЫ НЕ В СОСТОЯНИИ ДОВЕСТИ ПРОЕКТ ДО КОНЦА, ОТ ЭТОГО У ТЕБЯ ПАНИЧЕСКИЕ АТАКИ И ПРОБЛЕМЫ СО СНОМ, ЗА ВРЕМЯ РАБОТЫ СБРОСИЛ УЖЕ 20КГ, ПОТОМУ ЧТО ЖРАТЬ НЕ МОЖЕШЬ НОРМАЛЬНО @ ИЗ-ЗА ТОГО ЧТО ТЫ АУТИСТ, ВСЕ ДУМАЮТ ЧТО ТЫ ПРОСТО НЕ ХОЧЕШЬ ГОВОРИТЬ РЕАЛЬНУЮ ПРИЧИНУ И ПРЕДЛАГАЮТ УВЕЛИЧИТЬ ЗП @ НЕ ХОТЯТ ПРИНИМАТЬ ЗАЯВЛЕНИЕ И ДАВЯТ НА ЭМОЦИИ, ЧТОБЫ ТЫ ОСТАЛСЯ @ ТАКИ ОСТАЕШЬСЯ, ВЕДЬ ТЫ ТРЯПКА @ ВОЗВРАЩАЯСЬ ДОМОЙ ДУМАЕШЬ ЧТО ПРОСТО ЗАВТРА НИКУДА НЕ ПОЙДЕШЬ @ УТРОМ ВСЕ РАВНО ИДЕШЬ НА РАБОТУ
>>1713773 В чём заключается вендорлок в данном случае? Ты хочешь чтобы эпол ставил глючное ведро на айфоны? Или чтобы они разрешили ставить гейось на любые телефоны? Эпол не виноват в том, что реакт нэйтив ультра глючное говно, но которое маркетологи распиарили настолько, что все клиенты хотят приложение на нём
>>1714678 > Нахуя нанимать капризного Swift разработчика за 1000рублей в час если можно нанять двух React Native разработчиков за 400руб По факту, RN девелопер должен уметь и в iOS разработку и в Android разработку. Должен умень фиксить как капризы xcode/cocoapods, так и капризы android sdudio/gradle. А значит нужно искать девелопера, которые может и в то и в то. А это ещё более редкие люди, а значит более дорогие. Причём нативные модули под iOS часть пишутся на богомерзком обджектив си, знание которого ещё большая редкость сейчас.
>>1714780 Ну "X" вместо × в кнопке закрытия чёрного текстового баннера вверху - это и правда - ёбаный кринж. Абу, ну зделой ты уже нормально. В уникоде давно есть дохуя символов на все случаи жизни. Нет, буду использовать букву X.
>>1672062 > Шлю пулл реквесты на исправления, пишу тесты и прочую хуету вместо работы. Ну это в принципе тоже работа. Ты делаешь, чтобы твой софт работал, так, как надо. Хоть и фиксишь код не в твоей репе
ПРОГРАММИСТЫ APPLE И JET BRAINS: СОЗДАЛИ ВЕНЦЫ ТВОРЕНИЯ - SWIFT И KOTLIN @ ВСЁ ПРОДУМАНО, ЧТОБЫ ПРОГРАММИСТ ДАЖЕ ТЕОРЕТИЧЕСКИ НЕ МОГ ОБРАТИТЬСЯ К ПЕРЕМЕННОЙ, В КОТОРОЙ NULL, ЧТОБЫ НЕ ПРОИЗОШЛО NULL POINTER EXCEPTION, И ЕСТЬ МНОГО ДРУГИХ УСОВЕРШЕНСТВОВАНИЙ @ ВСЁ МАКСИМАЛЬНО ПРОДУМАНО, СДЕЛАНО С УЧЁТОМ 50 ЛЕТ ОПЫТА ВСЕХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ @ ПРОДАКТ ОУНЕРЫ: НЕ ХОТИМ SWIFT И KOTLIN, ХОТИМ ЖРАТЬ ГОВНО И МОБИЛЬНЫЕ ПРИЛОЖЕНИЯ НА JS, КОТОРЫЙ БЫЛ СОЗДАН НА КОЛЕНКЕ ЗА ОДИН ДЕНЬ, ЧТОБЫ СДЕЛАТЬ ВЫПАДАЮЩИЕ МЕНЮШКИ НА ВЕБ СТРАНИЦАХ, В КОТОРОМ НЕ ПРОВЕРЯЕТСЯ ВООБЩЕ НИЧЕГО И ПРОГРАММИСТ МОЖЕТ НАГОВНОКОДИТЬ ЧТО УГОДНО
>>1717895 Посмотрел пруфлинки в википедии https://www.reddit.com/r/IAmA/comments/1853ap/we_are_spacex_software_engineers_we_launch/ Ну вебморда естественно на жабаскрипте, а бортовой компьютер на крестах. На чём ещё можно писать веб морду? Многие языки сейчас конпелируются в жс, но всё равно сайт будет фактически на жс. Но каким образом это доказывает, что жс - лучшее решение для мобильной разработки? Во-вторых даже если они писали бортовой комп на жс, это не значит, что они не идиоты. Думаешь Илон лично собеседует каждого девелопера? Проскочил какой-нибудь долбоёб и написал хуйню
RN is the most stupidly brittle environment I've ever worked with. It breaks because it's Tuesday and your desk faces in an easterly direction and you had two sugars in your coffee today instead of one.
The worst ones are where you add an npm package, which doesn't work for some stupid reason, e.g. it uses a deprecated function in another package. Then you remove this package again but your build is still broken.
>>1717895 Проблема ещё в том, что девелопить на Swift (и наверно и на Котлине, который очень похож на него) - одно удовольствие. Вот прямо кайфуешь от того, какой удобный язык, какой красивый код на нём получается. А потом хуяк и говорят - не хотим Swift, хотим React Native. Чувствуешь, как будто оказался в каменном веке после 21-го века
>>1700734 >Напомните мне, пыхеры, как там у вас дела с асинхронностью, добавили в язык или все также пользуюсь сторонней либой?
Добавили вместе с генераторами фиг знает когда, просто про нее мало кто знает. Для большинства макак генератор - это "ну там можно последовательность перебирать", когда на собесе узнпют, что можно в генератор данные отправлять и использовать его для построения асинхронных систем - выпучивают глаза.
Хлопцы такая тема - хочу перекатиться в грузчики. Или дворники. Куда-нибудь, чтобы без заебов и людей. Все заебало. Заебали таски, заебали эстимейты, код ревью, тупые студенты. Просто заебало. Устроиться за $200-300/m и забить хуй на все. Уходить по звонку, не забивать голову всяким мусором и просто работая отдыхать. Наконец то начну играть в шахматы на свежую голову, освою гитару (а не 2 аккорда), начну читать литературу. Как думаете, какие подводные? Бабки не проблема - хватит еще на долго.
>>1718843 Откуда у тебя такое наивное представление, что низкоквалифицированный труд менее заебный. Не заебывайся на текущей работе, или ищи незаебное место в ИТ, чо как маленький.
>>1718855 Намного менее заебный. Ведь потаскав мебель, приходишь домой и отдыхаешь, а не продолжаешь таскать мебель весь вечер и потом во сне, а утром еще для закрепления немножко не подтаскиваешь перед работой.
Да, у меня был период в студенчестве, когда месяца полтора работал грузчиком при мебельном магазине, потому более-менее знаю о чем говорю.
>>1718862 Если это было полтора года назад, то может быть. Если тебе ближе к 30 то возможно ты сильно переоцениваешь себя, считая что будешь отдыхать как в студенчестве. Почему ты не можешь перестать заебываться в ИТ? Какая-то психологическая проблема. Ну не заебывайся. Уволят? Ты же сам собирался дауншифтнуться из-за заебов.
>>1718855 я как то сидя на балконе наблюдал за дворничкой у подъезда - она убирает все за час-два неторопливо убирая мусор. Вот это свобода. Есть время подумать о себе, о жизне, обо всем. В ойти, когда каждый день - это спринт, утром стартуя, а вечером заканчивая очередной отрезок своей и без того не длинной жизни. Работа зачастую не заканчивается даже в 8 часов. Выключил пекарню все равно в голове крутяться варианты решений, подходы, косяки. Поэтому иногда заставляешь себя поиграть во что либо, чтобы только отвлечься от навалившихся проблем. И потом в один прекрасный день ты задаешь себе вопрос - зачем это все? Для чего эта вечная гонка? Ради денег? Или ради интересных задач? Или ради пользы людям? По порядку: 1. Деньги - понятие относительное. Кому то $200/m - хватает с головой - оплачивать квартиру, кушать, даже растить детей. Кому то $4k/m - мало, не может себе чего то позволить, чтобы хотел. Или не может завести семью с таким, по его мнению, низким доходом. Будучи джуном довольствуешься $300/m думая, если бы еще соточку, другую - вообще жил бы в шоколаде. Или будучи ведущим специалистом, зарабатывая в 10 раз больше думаешь, как бы заработать еще; 2. Интересные задачи? Они интересные, когда ты их сам себе ставишь. А не ломаешь голову над решением очередной бизнес проблемы негодующего заказчика-толстосума; 3. Польза людям? След в истории? Да не смешите. Жалкое серое пятно, которое выцветет после первой эволюционной цепочки развития ИИ. Польза людям - без меня и мне подобных, не сокращали бы за ненадобностью складских или офисных работников, для них бы нашлось место, а не 3-4 внедренным алгоритмам, легко заменивших их работу. Иногда нужно просто остановиться, словить момент и задуматься над собой и своим существованием. Поэтому работа грузчика/охранника/дворника - лучший вариант отпустить проблемы.
>>1718843 >хочу перекатиться в грузчики. Или дворники. Куда-нибудь, чтобы без заебов и людей. Лолблядь. Думаешь только айти мозгоёбством страдает? >Наконец то начну играть в шахматы на свежую голову, освою гитару (а не 2 аккорда), начну читать литературу. С чего ты взял что у тебя будет время на это после дноработы? >>1718852 Вот именно что наверно. Причём только до первой зимы. >>1718862 >Ведь потаскав мебель, приходишь домой и отдыхаешь От таскания мебели по гигахрущам вечера будет недостаточно на отдых. >когда месяца полтора работал грузчиком при мебельном магазине Ну нихуя себе опытище! >>1718900 >я как то сидя на балконе наблюдал за дворничкой у подъезда - она убирает все за час-два неторопливо убирая мусор. Ого, целый один раз увидел дворника, который проёбывался. Очевидно же у них вся работа такая! Странно что ты попивание смузи не считаешь дефолтным программированием, с твоими-то аналитическими способностями к выборкам. >Деньги - понятие относительное. Относительно чего? >Кому то $200/m - хватает с головой - оплачивать квартиру, кушать, даже растить детей. Ну да, этого достаточно чтобы жить в карцере, жрать соевое хрючево и растить долбоёбов без будущего. >2. Интересные задачи? Они интересные, когда ты их сам себе ставишь. А не ломаешь голову над решением очередной бизнес проблемы негодующего заказчика-толстосума; Словно на дноработке ты не решаешь бизнес проблемы какого-нибудь толстосума. >Польза людям? След в истории? Да не смешите. Жалкое серое пятно, которое выцветет после первой эволюционной цепочки развития ИИ. Ну это совсем клиника. То что ты страдаешь клиническим нарциссизмом, не значит что ИИ придёт порядок наведёт. >Поэтому работа грузчика/охранника/дворника - лучший вариант отпустить проблемы. Это ты из манямирка вещаешь?
>>1718917 >Думаешь только айти мозгоёбством страдает? я за свою жизнь поработал в 3 сферах. Эмоционально сложная и истощающая работа у меня была только в айти. Причем чем выше, тем все хуже. Будучи джуном/мидлом - получаешь таск, делаешь его, коммитишь, approve/переделал и забыл. >С чего ты взял что у тебя будет время на это после дноработы? чем может быть забита голова после махания метлой или транспортировки предметов с одного места в другое? >Ого, целый один раз увидел дворника, который проёбывался. ты видимо не видишь различий между Low/high quality work. Устройся на неделю-две каким нибудь Support enginere (в лучшем случае) в худшем - на ту же стройку разнорабочим. Пока не почувствуешь, не поймешь. >Относительно чего? судя по твоим постам - я понимаю твою точку зрения. Лет 10 назад возможно думал бы так же, все прийдет с опытом >Ну да, этого достаточно чтобы жить в карцере, жрать соевое хрючево и растить долбоёбов без будущего. ты не поверишь, но быдло живет очень счастливо. С бутылкой пиваса после работы, ребенком-распиздяем в средней школе и женой ебущей мозги без остановки. >Словно на дноработке ты не решаешь бизнес проблемы какого-нибудь толстосума. ты понимаешь вообще, в чем состоит задача дворника или грузчика? И ту и ту работу можно заменить щелчком пальца покупкой погрузчика/уборочной машины. Резюмируя твой пост - жизнь многогранна и каждый ее видит со своей стороны. Возможно, даже проработав до седых волос разрабом ты не ощутишь того же, возможно прийдешь к этому раньше, чем я. Так или иначе - по закону относительности пока ты живешь в монотонной утопии - тебе не с чем сравнивать. Это хороший совет - попробовать другую работу, желательно пониже - например раздавать листовки. И будучи с ясным рассудком и чистым разумом ты увидешь запаренного какими то пустыми проблемами паренька, спешащего на очередной прожженный день свой жизни и узнаешь в нем себя
>>1718958 ты рил долбаеб, ты блять после таскания всякой тяжелой хуйни по этажам будешь приходить физически заебанным домой. то, что ты когда-то работал грузчиком и тебе было ок - это вообще ни о чем не говорит. я уж молчу, если тебе захочется купить что-то ценное или съездить куда-то есть нормально оплачиваемые работы (сантехник-плотник-хуй знает кто еще) и про них можно сказать, что они норм и туда можно выкатиться но говорить про грузчика и дворника - быть дауном, земля говном
>>1718992 грузчик или дворник - самая "не загруженная" для головы профессия. Это я утрированно. Возможно на того же плотника выучиться - работа с деревом всегда приятна. >захочется купить что-то ценное я думаю мне денег хватит до конца жизни, поэтому этот вопрос отпал >приходить физически заебанным чтобы хоть как то отвлечься от работы я начал заниматься в зале. Итог тот же, только я за это еще плачу деньги. >есть нормально оплачиваемые работы у тебя все упирается в финансы. В этом и проблема современного ойти. Люди не создают продукт, чтобы улучшить жизнь себе/людям, а чтобы зарубить денег и забыть. Поэтому я и не советую детям знакомых идти по этому прогнившему пути, разве что только к этому есть страсть. Кстати во всем мире за исключением низкоразвитых стран - разработчик не такая уж и популярная профессия. Медики, финансисты - это да. А все дело в том, что удаленно работу медика или финансиста не выполнишь, в отличии от разраба. Таков удел жителей низкоразвитых стран - делать то, чтобы только набить карман. Sad but true.
>>1718999 >я думаю мне денег хватит до конца жизни ну с этого и надо было начинать, тогда можно хоть на склад, хоть в НИИ, сидишь до 18 и уебываешь, и тебе поебать. в чем тогда проблема, если деньги есть?
>>1719039 мой первый пост >>1718843 >Бабки не проблема - хватит еще на долго Печально таки, что все упирается в деньги. Живя в Бельгии например, можно до смерти работать механиком в трамвайном депо - делать тривиальную работу и не думать за деньги. Кстати да, пока я high - кто планирует переезжать в страны бенелюкса - не удивляйтесь, если ваша зарплата в роли разработчика будет всего лишь на 20% выше зарплаты обычного обслуживающего персонала. У меня все.
Один в один я. Так заебали дедлайны, эстимейты и скрам. Сейчас работаю на одном проекте на фрилансе, где ограничение 20 часов в неделю. Вот идеал - работать 10-20 часов в неделю. Ещё бы рейт побольше и чтобы можно было при желании не работать 2-10 дней, если нет настроения
>>1719370 И да, фирмы со скрамом я обхожу за километр. Просто спрашиваю на интервью, используется ли скрам и прочие аджайлы. Если да - сразу до свидания
>>1719383 >используется ли скрам и прочие аджайлы звоночек о том, что с тебя не будут слезать. Пьешь кофе не кухне? - "Алло, Васян, там стикер на стекле красный, горит, пиздец - делать нужно" - "Но это тот же таск, который был зеленый почти месяц" - "Project owner орет, что должно быть сделано вчера" Вот такие вот "веселые" методики. Волей не волей - сгоришь нахуй
>>1718436 > что можно в генератор данные отправлять и использовать его для построения асинхронных систем - выпучивают глаза. Я читал про такое использование генераторов. Но не костыль ли это? Есть же всякие async/await для этого в некоторых языках
ДАЛИ ТАСК НА 8 ЧАСОВ @ НУ ЩА ПАШКУ ЧЕКНУ И НАЧНУ @ ОТВЛЕКСЯ НА ЮТУБ @ ХМ А ЧЕ ТАМ НА РЕДДИТЕ/ПИКАБУ/ДВАЧЕ ПИШУТ @ ... @ ОЙ, УЖЕ ВЕЧЕР @ ОФИС ЗАКРЫВАЕТСЯ @ ЖИДКО ПУКНУВ, ПРИДУМЫВАЕШЬ, КАК ОБЪЯСНИТЬ ТИМЛИДУ СОСТОЯНИЕ ЗАДАЧИ
>>1719698 > ОФИС ЗАКРЫВАЕТСЯ Ебать у вас говноконтора. Я работал в 5 офисах и всюду можно было оставаться хоть до утра. Алсо, если у вас там не супер секьюрность, что работаете через тунель, который доступен только в офисе, то можно и дома что-то доделать. Конечно, это не очень приятно, но нехуй было сидеть в интернетах вместо работы. Алсо, делайны и жесткий контроль - зло
РАБОТА НАД ТАСКОЙ ЗАНЯЛА БОЛЬШЕ ОДНОГО ДНЯ @ ВСЁ НОРМАЛЬНО У НАС ПО СРОКАМ? МЫ УСПЕВАЕМ? @ МОЖЕТ ЕЩЁ ОДНОГО ЧЕЛОВЕКА ПОДКЛЮЧИТЬ? @ А ТЫ МОЖЕШЬ ЧТО-НИБУДЬ СДЕЛАТЬ ЧТОБЫ ТЫ ДЕЛАЛ ТАСКИ БЫСТРЕЕ?
>>1719505 >Но не костыль ли это? Есть же всякие async/await для этого в некоторых языках
Сахарок бы не помешал, да, но и так норм - ну пишешь yield вместо await, а вместо async объявляешь генератор. Натыкался в internals на любопытный разговор Пиотровски со Стоговым о поддержке многопоточности и async/await в восьмерке, продолжения пока не видать, но тема с повестки, думаю, не уйдет - это вопрос выживания языка в современном мире.
>>1720107 Тру стори. Особенно забавляет вопрос "может тебе как-то помочь, чтобы ты делал таски быстрее?". Очень хочется ответить на этот вопрос как "Не писать говнокод, в котором ничего непонятно", а потом еще железной клюкой по морде.
>>1671746 (OP) У вас бывает такое, что поработаешь 8 часов и после работы коды из головы никак не выходят, в уме перебираешь все возможные варианты как можно было сделать ту или иную фичу в голове и не можешь переключить внимание на что-нибудь другое? Может, у меня ОКР, хуй его знает, мозг словно зацикливается на этой хуйне.
>>1720239 Я работаю на удаленке и сижу в бетонном бункере, причем заканчиваю работать ночью, когда ни с кем не встретишься. Из-за этого еще долго уснуть не могу, я походу крышей еду от этой работы.
>>1720227 та же хуйня была, нужно просто воспитывать в себе похуиста. И обязательно найти увлечение, даже игоры на пекарне. Про пивас - не слушай этих чуханов, это удел быдла. Один знакомый начинал с 0.5 бутылки после работы, сейчас валяется где то обоссаный в канаве, т.к. 0.5 в один день оказалось мало и пошло поехало.
>>1720257 Я с зпшкой пограмиста и в целом так себе жизенкой заработал алкоголизм, хоть и на дорогом бухле. Не в канаве еще, но это ппц как жизнь разрушает. Знаю как минимум еще трех таких. Чтобы не бухать стараюсь уходить в код 24/7 чтобы все мысли занимало (для меня это и есть увлечение).
>>1720261 у меня знакомый в одной топовой галере, там чуваков от перегорания и депрессий тупо закачивают антидипресантов. После 3-5 лет активной гребли - они просто иссякают. Как выгоревшая спичка, по его словам. Знаешь что потом? Их увольняют. И тогда начинается самая пизда - нет бесплатных колес, нет смузи и топового кофе, нет денежных запасов, т.к. все спустили на хоть какое то увлечение. Вот тогда и наступают "черные деньки". По поводу бухла - это пиздец какое зло. Я не поддерживаю ни то ни другое, но имо лучше уже траву курить, чем синячить. Хотя от травы можно перейти к чему и потяжелее, поэтому не злоупотребляю от слова ничем. Из своего личного опыта - я начал задрачивать в онлайн игры, заниматься спортом и учиться играть на гитаре. Знакомый с работы - по бабам. Главное - это не падать в канаву и оставаться в здравом рассудке. Хотя уже начинаю ощущать на себе, как гарбейдж коллектор чистит нужную мне в прошлом информацию - начал забывать имена, даты рождения нужных людей, пассы от акков. Резюмирую, всем бобра, здоровья (это важно) и меньше забивать голову работой.
>>1720303 >После 3-5 лет активной гребли - они просто иссякают. Ебать блядь что у вас там за терминаторы? Я после недели гребли на удаление иссяк просто.
>>1720330 я не знаю, скорее всего да. Знакомый говорит у них все методики выжимки соков, которые только были придуманны - скрамы-хуямы, Waterflow какие то. Я сам в мобильные игоры не играю и не знаю, что они там лепят, что там гребцов ебут. Но реально жаль их - геймдев имо сложнее интерпрайза, а с них еще не слазят.
>>1720368 >остеохондроз развитая хуйня. Насчет импотенции - простатит уже стучит в дверь, хотя РАБотал +- не на спринтах (28 лвл) Короче нужно беречь здоровье, работодателю похуй на гребцов, главное деньжат выжать
>>1720303 Не понимаю. в чем проблема этих людей. У нас одна из самых лёгких профессий в плане стресса, разве что думать много надо и голова устает, но это мелочь по сравнению с тем, что приходится делать многим представителям других, более ответственных профессий.
>>1720388 смотря с чем работаешь. Алгоритм в банковской системе может осадить галеру в такой омут и разраба, который его писал. Я работал до разраба финансистом/экономситом - стресса меньше было, хотя работал с деньгами и одна ошибка в расчетах могла стоить N тысяч баксов
>>1720227 У меня было такое первых года 3. Потом работа заебала и мозг научился не думать о работе даже во время работы, чтобы не охуеть от этого говна
>>1719698 У меня так вся неделя проходит. А потом в выходные с горящей жопой и в ночь перед понедельником хуярю что должен был сделать ведь надо отдавать/показывать Но обычно хватает только ночи перед понедельником
>>1721278 ты не поверишь, но на таких галерах себя хорошо чувствуют похуисты. Им говорят "ААА потоп/дедлайн/сервер упал - деньги горят", а они с каменным ебалом допивая кофе говорят "Ага, сейчас сделаю" и в привычном темпе продолжают делать работу. Другие же - ебонутые (как я) с комплексом отличника будет волосы на жопе рвать, чтобы быстрее, быстрее, в то время как фраза, которая начинается с "ААА.." это только повод заработать больше денег с гребца. Обычно происходит как - архитектор/чаще сеньер дает эстимейт на задачу, ПМ торгуется с заказчиком на +50% времени от эстимейта. Гребцу же в зависимости от галеры дают Estimate time и чем больше галера выжимает соки, тем меньше этот процент на эстимейт. Когда гребец понимает, что он как осел идет за морковкой начинаются манипуляции. Тысячи их. От простого "Поговорить". Начинается обычно с "У тебя все впорядке?" И дальше идет давление на то, что раньше/другой раб - делает задачи качественее/быстрее, чем ты сейчас. Могут поманить какой то дешманской плюшкой типо сеансов массажа простаты или абонимента в бассейн/тренажорку. Давят на овертаймы, если не вложился в поставленный тобой погонщиком эстимейт, говорят, что компания на грани и она не сможет платить тебе твой рейт (самый сок). Если вы попали на такую галеру, так или иначе - не ведитесь на эту хуйню. Никогда. Представьте, что вы хомяк в колесе (по сути так оно и есть) и чем быстрее вы бежите, тем больше денег зарабатывает CEO (или кто бы там ни был), а погонщики - это такие же хомяки, которые место того, чтобы самим залезть в такое же колесо - они вам ебут мозги, чтобы вы бежали быстрее. Не ведитесь.
>>1721299 >"Ага, сейчас сделаю" и в привычном темпе продолжают делать работу. Это еще не похуизм, настоящий похуизм это когда говорят "посоны оставайтесь еще на пяток часов по РАБотать тут заказчику нужно срочно доделать" а они с каменным ебалом собираются и идут домой и будут все выходные отдыхать.
Хочешь стремительного развития? Сходи поработай в стартапе - галера покажется раем, будешь ныть тут про выгорание, кранчи и морковки сзади и спереди.
Хочешь что-то ненапряжное? Устройся в разработку в большую неайтишную контору. Ненапряжность начнется через 0.5-2 года, когда со всем разберешься и будешь тратить на рабочие задачи 5-15 часов в неделю. Будешь ныть тут про скуку, серость и зп.
Хочешь порядочка и размеренности? Поработай в каком-нибудь банке (желательно европейском, типа дойча или райфа). Напишешь нам, как элементарный RFC или доступ к тестовой среде согласовывается два месяца и как круто разрабатывать на .NET 3.5/Java 1.5.
Можешь поупражняться в алгоритмах и гномозадачах и устроиться в какой-нибудь гуглояндекс на пару лет. Нытья будет ещё больше, зато к тебе резко возрастет интерес рекрутеров - сможешь легко выбирать контору по душе.
Вообще, рекомендую после выхода из трейни/джуна в мидлы/синьоры сменить несколько работ - увидишь, что разработка оче разная, что скрамы-канбаны-аджайлы могут неплохо работать, что бывают конторы без долбоёбов, заодно софт-скилы прокачаешь и сеть контактов увеличишь. А годам к 30-35-40 уже определишься со сферой деятельности, предметкой и вообще тем что тебе интересно (помимо денег лол) .
Я вообще плохо понимаю местное нытьё про скрамы-аджайлы. Хипстерки видать не попадали в 2-3 летний водопадик, когда за пол-года до дедлайна оказывается, что там работы еще на полтора. Или ебучий хаос вообще без методологий, когда задачи в духе "ну сделайте типа вот так, но по-другому я сам не знаю как" прилетают с утвержденным сроком и без декомпозиции каждую неделю, а за результаты спрашивают и ебут тоже рандомно, но в самый неподходящий момент.
Вот не нравятся тебе длинные дейли. Нахуя они вообще, эти дейли? Чтобы менеджер (или тимлид, или ПО, или кто там у вас) оперативно получал статус работ. Ну так начинай качать менеджера, чтоб дейли был только про статус, а не про пятничные посиделки. Не можешь один - ищи союзников и качайте вместе. Вноси предложения - минута на человека, следи с таймером и пресекай. Вызовись быть скрам-мастером/модератором/кем-там-еще, чтобы это легитимизировать. Может, менеджеру было бы удобнее ежедневно видеть все затыки по задачам в отчётике в джире и нахуй не нужны эти дейли, но для хипстерков сложно откомментить задачу и поставить ей нужный статус/тег - "бюракратия жи!11".
В моей команде дейли не зашли - собираемся раз в неделю в скайпе на 15 мин, но все застрявшие задачи с комментарием, тегом и ссылкой на затык. Ретро тоже не зашли, но есть страница в вики с бесящими моментами, голосовалкой и экшн-списком, задачи из которого регулярно выполняются (в т.ч. ПМом и тимлидом) . Спринтов тоже нет, но стори ad-hoc разбиваются и оцениваются, бэклог приоритезирован и есть типа-план-работ на пару недель вперёд, в обход которого впихнуть что-нибудь сложно.
Но это всё появилось не само собой и не сразу - вся команда работала над изменением процессов, вносила-изменяла-оценивала-исполняла, а не ныла на двачике.
>>1721465 >Устройся в разработку в большую неайтишную контору. Можно в небольшую околоайтишную и всякое такое, лишь бы условие про 5-15 часов было выполнимо. Такие места, где есть свободное время - лучшие. Потратить можешь на что угодно, хоть на собственные проекты, так что расти все равно будешь, но при этом сэкономишь нервы и силы.
>>1721465 Во время карантина дейлики были текстом в слаке. Ух крутое время было. Отписался утром и в хуй не дуешь, не слушаешь мычание еще нескольких человек.
>>1721313 >>1721299 Всегда так работал, при том что другие люди у меня в команде и работают допоздна, и отвечают на емейлы в 6 утра в воскресенье.
До эстимейтов мне вообще никогда не было дела, не понимаю в чем проблема сказать "задача оказалась сложнее чем я думал, поэтому займет не неделю, а две". Или если сваливается внезапная задача, то что-то из других задач перенестся в следующий спринт.
Трудоголизм имеет смысл только если есть цель пробиться в менеджеры. Но тут еще нужны политические скилы, иначе можно надрываться, но никуда не пробиться.
>>1721485 "Какие тебе +10%? Вот, Коленька сидит не поднимая головы с 9 до 9 с рейтом ниже, чем у тебя, а тебе еще наглости хватает повышение просить? А ты забыл тот таск, из за которого мы чуть проект не потеряли? Даже не может быть и разговора" Не ведитесь на эту хуйню
Спустя 2 недели после 2-3 собесов приходишь с заявлением
"Ой, тебе разве не нравиться у нас? Отлично же работали. Ты подумай еще хорошенько. Точно решил? А если всетки +10% дадим, ведь ты хорошо таски закрываешь, забудем уже за тот факап"
>>1721608 И это самое сладкое время, когда тебе подписали заявление, ты все встречные предложения отверг и сидишь ненапряжно дорабатываешь свои две недели, пока твой тимлид ищет себе нового человека взамен. Обожаю смотреть на эту ебалу, как хуй, который год мне рассказывал сказки про зарплату и задачи, красный как помидор, не может найти человека на собес.
Сука, мои худшие страхи - что к нам добавят ещё тней, особенно МОЛОДЫХ ТНЕЙ. Бля, нахуя они вообще идут в разработку, если нихуя не шарят? Шли бы, блять, в детские сады воспитателями или ещё куда.
>>1721608 Я так из одной говноконторы уволился, а через два года узнал, что там поменялся полностью состав команды, а задачи остались прежними. Т.е. за два года проект так и не довели до ума.
>>1721485 Я тоже так делаю, только не работаю, а просто дрочу, сижу на ютубчике, читаю, ну или занимаюсь другими своими делами. А потом, когда уже подходит проёб сроков, по-быстрому тяп-ляп всё допиливаю под кофейком. Не считаю это нормальным, конечно, но...