CodeSOD: 당신을 위한 도구 노트

CodeSOD: 당신을 위한 도구

주니어 개발자는 Java 명령줄에서 사용자 입력을 읽고 처리하는 방법을 배우고 싶어 했습니다. Robert의 팀에는 확고한 의견과 멘토링 접근 방식으로 알려진 시니어 개발자가 있습니다. 이 시니어는 개념을 설명하기 위해 예제 애플리케이션을 제공했습니다. 코드는 main 메서드와 헬퍼 함수를 가진 ScannerTool 클래스를 정의합니다. main 메서드는 사용자 입력을 처리하기 위해 복잡한 맵 구조를 초기화합니다. do-while 루프를 사용하여 사용자에게 반복적으로 입력을 요청합니다. 루프의 조건은 초기화된 맵 내의 정교한 조회에 의존합니다. nextCharacter 함수는 입력 줄을 읽고 첫 번째 문자를 포함하는 Optional 또는 입력이 비어 있으면 빈 Optional을 반환합니다. 제공된 솔루션은 Scanner를 광범위하게 사용하는데, 이는 단순히 문자를 읽는 데는 과도하다고 간주됩니다. 과잉 공학의 핵심은 메시지와 루프 제어 로직을 관리하기 위해 튜플을 생성하려고 시도하는 Map.Entry 객체의 Map에 있습니다. 이 복잡한 구조는 멘토링 예제로 제시되었지만, 기본적인 작업을 상당히 복잡하게 만들었습니다. 저자는 시니어 개발자의 솔루션의 복잡성에 대해 당혹감을 표현합니다.