CodeSOD: Инструмент для вас Заметка
The Daily WTF на русском

CodeSOD: Инструмент для вас

Младший разработчик хотел научиться считывать ввод пользователя из командной строки Java и обрабатывать его. В команде Роберта есть старший разработчик, известный своими твердыми убеждениями и наставническим подходом. Этот старший разработчик предоставил пример приложения для иллюстрации концепции. Код определяет класс ScannerTool с методом main и вспомогательной функцией. Метод main инициализирует сложную структуру карты для обработки ввода пользователя. Он использует цикл do-while для многократного запроса ввода у пользователя. Условие цикла зависит от сложного поиска в инициализированной карте. Функция nextCharacter считывает строку ввода и возвращает Optional, содержащий первый символ, или пустой Optional, если ввод пуст. Предоставленное решение широко использует Scanner, что считается избыточным для простого считывания символа. Суть избыточного проектирования заключается в Map объектов Map.Entry, которая пытается создать кортежи для управления сообщениями и логикой управления циклом. Эта запутанная структура была представлена как пример наставничества, хотя она значительно усложнила базовую задачу. Автор выражает недоумение по поводу сложности решения старшего разработчика.