CodeSOD: あなたのためのツール ノート

CodeSOD: あなたのためのツール

ジュニア開発者は、Javaコマンドラインからユーザー入力を読み取り、それを処理する方法を学びたいと考えていました。Robertのチームには、強い意見と指導的なアプローチで知られるシニア開発者がいます。このシニアは、概念を説明するためにサンプルアプリケーションを提供しました。コードは、mainメソッドとヘルパー関数を持つScannerToolクラスを定義しています。mainメソッドは、ユーザー入力を処理するために複雑なマップ構造を初期化します。ユーザーに入力を繰り返し促すためにdo-whileループを使用します。ループの条件は、初期化されたマップ内の洗練されたルックアップに依存します。nextCharacter関数は、入力行を読み取り、最初の文字を含むOptional、または入力が空の場合は空のOptionalを返します。提供されたソリューションは、文字を読み取るためだけにScannerを広範囲に使用しており、これは過剰であると見なされています。過剰設計の核心は、メッセージとループ制御ロジックを管理するためのタプルを作成しようとするMapのMap.Entryオブジェクトにあります。この複雑な構造は指導の例として提示されましたが、基本的なタスクを著しく複雑化しました。著者は、シニア開発者のソリューションの複雑さに困惑を表明しています。