Если в продакшене используют штуку, которую пишет всего один человек (я) на работе, то почему не использовать штуку, которую пишет другой, более умный человек, да еще и выкладывает в опенсорс? В открытых проектах качество кода-то повыше проприетарного обычно.
Или у вас любые фичи целый комитет разработчиков непременно пилит?
Опенсорс дело такое. Я на Хабр раньше постировал какой-то свой код, так пол-треда было всякой беспомощной гневной фигни даже не про какие-то bad practices, а тупо про стиль кода. Если бы меня интересовало мнение всяких кукаретиков, я бы наверное тоже расстраивался.
Правильная реакция это, конечно, как Антон выше написал: man git-fork вам в руки и паровоз навстречу.
В этом случае магазин заработает NaN денег, и тикет в баг-трекере тотчас же засияет новыми красками, и эту штуку быстро-быстро починят.
То, что критично для бизнеса, будут писать на строго типизированных языках, и применять JSON Schema, и всякое дефенсивное программирование, и QuickCheck, и фаззинг, и аудит кода проводить.
А где некритично (т.е. остальные 99% кода) — и так сойдет.
(Всё это, конечно, не относится к хобби-проектам.)
А как вы с ними работаете тогда? Вот когда вы пишете json[«foo»], что вы имеете в виду?
Как бог на душу положит, в самом-то деле. У большинства сайтов ведь практическая функция — отображать на экране текст с картинками, не более. Нет поля в объекте — выведется на сайте пустая строка, или там undefined, всего делов.
Мне из Алиэкспресса каждая вторая посылка приходит с надписью Phone number: +972undefined почему-то. Это, конечно, баг. С другой стороны, покупатель доволен. Продавец доволен. Джек Ма доволен. У этой истории нет морали.
Вообще это вопрос зоны комфорта, я могу запросто eumorozov из треда выше понять, про идиосинкратическое неприятие. У меня с руби такое, прямо соки говн. А к жаваскрипту привык, уже вроде и нормик.
Я не верю в полноценное убийство жаваскрипта вебассемблей просто потому, что на JS очень удобно писать glue code, высокоуровневую бизнес-логику. То, что сейчас происходит (ну, начинает происходить) — «тяжелые» библиотеки переползают на WebAssembly (см. например libsodium), высокоуровневый код остается на JS, и все более-менее счастливы.
Многие проекты выработали аналогичную структуру, двигаясь в обратном направлении: начали с «библиотечного» С++, а затем прикрутили сверху скриптовый язык для glue code. В World of Warcraft для скриптинга выбрали Lua, в Qt теперь QML (== жаваскрипт вид сбоку), и так далее.
А ведь классный вариант. Купить зараженный участок рядом с разрушившейся японской АЭС, выкопать прудик, в него автономную подлодку с серверами. И крокодилов каких-нибудь для антуража. Удачи такое штурмовать.
Абсолютно согласен. Собеседования проходить — отдельный скилл, по поводу зарплаты торговаться — тем более. Можно быть классным программистом, и одновременно полным профаном в этих делах.
Общение с незнакомыми людьми в принципе стресс, а когда от результатов общения зависит, купишь ты завтра доширак (макбук про, ламборгини дьябло) или нет — ещё больший стресс.
Мне кажется, это классная идея для высокоуровневого кода. Например, какой-нибудь Jenkins job можно было бы описать:
Клонируем репозиторий git://github.com/милые/котятки в папку "тестовые_котятки"
В папке "тестовые_котятки":
- Устанавливаем зависимости командой "yarn"
- Запускаем тесты командой "yarn test"
В случае ошибки отправляем письмо Геннадию <геннадий@милота.рф>
с темой "Вороны клюют твои посевы, Джузеппе!"
Получается словно и скрипт, и инструкция как это всё сделать руками, если Дженкинс окуклился.
Где же очередной пост нытья о плохой системе оценок, которая не дает прекрасным пользователям с открытыми, добрыми лицами постить на хабр восхитительные посты.
Или у вас любые фичи целый комитет разработчиков непременно пилит?
Правильная реакция это, конечно, как Антон выше написал: man git-fork вам в руки и паровоз навстречу.
Вот если выкинуть из этого продукта наушники, и продавать просто как стильный ободок-зарядку — интересная штука получается.
Видимо, для каждой страны свое сообщение. Но идея хорошая: «приведенная выше ложь находится в суперпозиции», такое.
Впрочем, есть и хорошие человеческие словари.
Я всё ждал, что Юрчик даст Димбу в глаз, а тот не поймет, как на это реагировать, — такой программы ведь нет.
В этом случае магазин заработает NaN денег, и тикет в баг-трекере тотчас же засияет новыми красками, и эту штуку быстро-быстро починят.
То, что критично для бизнеса, будут писать на строго типизированных языках, и применять JSON Schema, и всякое дефенсивное программирование, и QuickCheck, и фаззинг, и аудит кода проводить.
А где некритично (т.е. остальные 99% кода) — и так сойдет.
(Всё это, конечно, не относится к хобби-проектам.)
Как бог на душу положит, в самом-то деле. У большинства сайтов ведь практическая функция — отображать на экране текст с картинками, не более. Нет поля в объекте — выведется на сайте пустая строка, или там undefined, всего делов.
Мне из Алиэкспресса каждая вторая посылка приходит с надписью Phone number: +972undefined почему-то. Это, конечно, баг. С другой стороны, покупатель доволен. Продавец доволен. Джек Ма доволен. У этой истории нет морали.
Вообще это вопрос зоны комфорта, я могу запросто eumorozov из треда выше понять, про идиосинкратическое неприятие. У меня с руби такое, прямо соки говн. А к жаваскрипту привык, уже вроде и нормик.
Алсо есть же LuaJIT например.
Многие проекты выработали аналогичную структуру, двигаясь в обратном направлении: начали с «библиотечного» С++, а затем прикрутили сверху скриптовый язык для glue code. В World of Warcraft для скриптинга выбрали Lua, в Qt теперь QML (== жаваскрипт вид сбоку), и так далее.
Общение с незнакомыми людьми в принципе стресс, а когда от результатов общения зависит, купишь ты завтра доширак (макбук про, ламборгини дьябло) или нет — ещё больший стресс.
Практика решает.
Получается словно и скрипт, и инструкция как это всё сделать руками, если Дженкинс окуклился.