Эпоха красивого кода прошла. Пришло время быдлокода

в 12:45, , рубрики: android development, flutter, php, React, ReactJS, быдлокод, быдлокодерство, Программирование, Разработка под android, философия программирования, философия разработки

Я работаю программистом 12 лет. Последние 2 года в мобильной разработке, а до этого php со всей своей экосистемой, фронт-энд - по мере необходимости.

И проблема конфликта между красотой кода и быстротой реализации новых фич давно меня занимала. Раньше были разговоры и даже холивары на эту тему. Однако сегодня поднимать этот вопрос уже моветон.

И вот конкретный пример.

Для мобильной разработки пользуюсь таким замечательным продуктом как Android Studio. И решил давеча отключить ненужные плагины в настройках. Снял галочки напротив плагинов которые для меня не нужны, IDE не предупредила ни о каких возможных проблемах.

Перезапустил IDE, и вуаля, среда сломалась:

"Missing essential plugins... Please reinstall from scratch."

Думаю, "весело". Лезу в гугл, Stackoverflow уже всё знает ;-) и "советует" удалить файлик disabled_plugins.txt из папки конфигурации.

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

Тоже фигушки. Та же ошибка. Я уже весь файл оставил пустым - действительно, "зачем удалять сам конфиг файл?" - подумал я как программист, если он пуст..

Ошибка не пропала. Только полное удаление файла решило проблему.

К чему я это всё?

А к тому, что Android Studio не курсовая работа студента. Это IDE для разработчиков от уважаемой компании.

Как? Скажите мне, как можно было допустить такой код в продакшн?

Плохая квалификация разработчика должна перекрываться хорошей квалификацией кодревьюера.

Плохая квалификация разработчика и кодревьюера должна перекрываться хорошей квалификацией тестировщиков.

Код прошел все эти стадии  и такой, простите, детский косяк, попал в такой серьезный продукт.

Выводы.

Большие деньги в сфере IT порождают большую конкуренцию между продуктами и это ставит развитие продукта в больший приоритет чем качество самого продукта.

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

В добавок HR менеджеры так же стремятся завербовать новых, именно новых, потому что от старых они не получают дивидендов разработчиков, которые, вследствие массовости, существенно потеряли в качестве.

В итоге неквалифицированные разработчики быстро создают и быстро развивают программные продукты.

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

А дальше включилась эволюция. Т.е. более былокодерские проекты становятся более успешными и более богатыми, чтобы с ними конкурировать нужны еще более быстро развивающиеся и следовательно еще более быдлокодерские продукты.

А баги - что баги? - ну есть стековерфлоу. Я же за 5 минут нашел как пофиксить ошибку.

Производительность, скажите вы, - кто о ней думает в эпоху 32ГБ ОЗУ и процессоров 12 поколения?

Словом, качество кода ушло на последнее место когда программирование стало на 120% коммерческим делом на котором делаются главные состояния.

И вопрос, как быть эстетам, которые хотят получать еще и эстетическое удовольствие от программирования?

Автор:
Antifreez

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js