Непростой выбор для простого решения
Timofey Aksenov
Front End DeveloperИзучаю постепенно основы-основы в информатике. И сразу же натыкаюсь на Алгоритм Евклида wiki.
Т.к. считаю себя человеком любопытным, то защел в дистрибутив господина Трехлеба, чтобы посмотреть, как же выглядит указанный выше алгоритм на JavaScript.
Результат коллективной работы меня в какой-то степени восхитил, озадачил и одновременно принес сладкое чувство удовлетворения от того, что я понимаю суть происходящего.
А теперь к сути, вернее к коду
Вариант 1. Код первоначальной версии:
Вариант 2. Код итоговой версии:
Вариант 3. Еще раз код итогой версии без лишних комментариев
Вроде бы великолепный результат, вместо 15 строк кода, мы получаем 5 строк. Но с уменьшением количества строк мы увеличиваем сложность.
Первый вариант кода можно читать без предварительной математической подготовки (имеется в виду, что хватит беглого просмотра статьи из википедии). Второй вариант, потребует вдумчивого чтения комментариев и соответсвующей более детальной математической подготовки. С третьим вариантом, как говорится "без пол литра не разобраться".
Разработчик (абсолютно любого уровня), должен понимать свою ответсвенность перед другими разработчиками, коллегами, бизнесом и многими, многими, многими... Оставив вариант №3, вы нанесете удар всем остальным людям. Будте готовы, что вас будут ненавидеть и вспоминать плохими словами, после того как вы наиграетесь и пойдете писать сложные вещи, туда где вас понимают или сыграет свою роль BUS_FACTOR *irony
.
Выход из проблемы это варианты №1 и №2, т.к. они дают бизнесу уверенность, что за обозримое время недорогие разработчики разберутся в вашем коде. А разработчикам сопроводжающим код не прийдется уходить в запой от чувства собственной ничтожности.
Возлюбите ближнего своего — пишите код не для себя, а для людей! 🐱