Comments 14
Не спрашивайте, как, но оно работает ?.
Ну вот кстати наглядный пример того, как решения задачек с LeetCode соотносятся с промышленным программированием. Оно именование переменных здесь только чего стоит. ;)
Так получается, что люди, которые понимают в алгоритмах и математике, и те кто может писать понятный и поддерживаемый код это разные люди. Возможно это как-то связано с типом мышления, полученным образованием, или ещё какие-нибудь детскими травмами, не знаю.
У меня на практике тут было два варианта: либо садить их вместе, чтобы второй доводил до ума то, что накалякал первый. Либо код первого так и держать в отдельном загоне, выставив только наружу нормальный интерфейс. Когда пишу сам, то работаю за двоих - переписываю по нескольку раз (первый вариант обычно выглядит как в статье). Поэтому не укладываюсь ни в какие разумные сроки. Интересно, а как у вас?
Статье и автору плюсики - читается как детектив.
либо садить их вместе... Либо код первого так и держать в отдельном загоне
Либо архитектурно не допускать, чтобы эти люди вообще трудились вместе. Если в проекте в одном классе/файле/модуле описана оркестрация биллинга, а рядом в другом кто-то биты переставлят ассемблерными вставками, то что-то пошло не так.
Вообще, хорошее дело — обязательный code review для всего кода вообще. В FAANGах всяких так и есть. В итоге такие олимпиадники за 1-2 недели переучиваются называть переменные вдумчиво. Потому что все-равно ревьювер попросит исправить.
наглядный пример того, как решения задачек с LeetCode соотносятся с промышленным программированием. Оно именование переменных здесь только чего стоит
Вообще не вижу проблемы. Именование соответствует предметной области.
Вы же не будете при решении квадратного уравнения, вместо стандартных a,b,c и дискриминанта D, вводить переменные "squareCoefficient", "linearCoefficient", "constantCoefficent", "discriminator"
Какие претензии к переменным i, s? Если назвать их index, sum — лучше будет?
Также и олимпиадник, если сядет писать абстрактные фабрики, и адаптеры с фасадами, не назовёт их a,b,c, а назовёт так, как принято в мануалах по энтерпрайзным технологиям.
Классная статья, спасибо, дайте ссылку на свой leetcode посмотреть?
Вот мой https://leetcode.com/nimishin/
Не очень понял: зачем считать каждый раз все биномиальные коэффициенты, если их можно предвычислить, и просто 5000 ответов в код вписать? Будет O(1)
я закончил ВУЗ в 1998 году и ничего что мы изучали в ВУЗе не применялось никуда. Так и с этим LeetCode - это шарады для страждущих умов без практической пользы. Сколько не читаю такие статьи больше похоже на смешное видео про то как придумывалась игры в 80-е. Вот и вам эти задачки кто-то придумывает под ЛСД. Почему бы просто не взять тефтели и рисовые шарики например? Обязательно нужно суп из кота? А практическая польза какая? Никто и никогда это считать не будет, поработают неделю, соберут статистику и будут исходя из неё работать. Всё равно потом будет всё меняться, то ассортимент то сезон и клиенты приходят не по вероятностям.
Чуваки, вы слишком серьёзные. Учитесь в метаиронию ?
Я вообще не из IT, просто хотел комменты без модерации писать
Если на проекте есть математика выше школьного уровня, то тогда берут вместо бизнес-аналитиков математиков. Чтобы они объяснили программистам как это писать.
Зачем вообще это программировать? Для поднятия ВВП?
Суп с котом: забавная задачка с LeetCode