Как стать автором
Обновить

Комментарии 8

У меня в команде есть локальный мем «Если хочешь начать автоматизировать тестирование — проверь строку на палиндром».
И тут вы со своей статьей.
Еще важно показывать код правильным людям, а не любителям закодировать максимум логики в минимум строк кода.
Код вашего друга получился короче, но не элегантнее, а неряшливее.
Вот это просто ужас:
if ( s.charAt(i) != s.charAt(len - 1 - i)) 

А что здесь такого-то? Сложно себе представить разработчика, у которого вызовет сложности эта строка.

деградация читабельности
Как по мне, так первый вариант тоже предпочтительней. Со временем понимаешь, что в большинстве случаев код должен быть прост как пять копеек, чтобы по прошествии года ты мог вернуться и читать его, не спотыкаясь (уже молчу про коллег).
Прошло меньше 2 месяцев.
Теперь посмотри на эти 2 примера в обратном порядке — сначала второй, потом первый.
Какой быстрее читается?
Да, пример простой и разница может быть не очевидной.
Второй вариант читается хорошо, всё таки код простой.
Но первый вариант читается с лёту.
Ну во всяком случае у меня так)
Это отвечает на вопрос: приступит ли кандидат к решению задачи немедленно — даже не осознавая, что ее технические условия не ясны до конца? Или немного подумает и уточнит требования?»

Выглядит как способ завалить кандидата на собеседовании:
Не спросил — плохо.
Спросил — плохо, так как не знает базовых вещей.

Вопросы не про базовые вещи. Если их не задавать, можно потратить время на код, который сам по себе работает правильно, только делает не то и не так. Даже если попросили написать FizzBuzz, имеет смысл кое-что уточнить.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий