0Pricing
Java Academy · レッスン

varで可読性が向上する場合

varの適切な使い方と避けるべき使い方を学びます

「varで可読性が向上する場合」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全4レッスンが含まれています。

varはスタイルの選択

varの使用は任意です。適切に使えばコードがすっきりしますが、無造作に使うと重要な情報が隠れます。優れた開発者は、いつ使うべきかを理解しています。

良い例:右辺から型が明らかな場合

初期化子から型が明確に分かる場合、varは明瞭さを損なわずに余分な記述を取り除きます。

public class Main {
    public static void main(String[] args) {
        var name = "Alice";
        var customers = new java.util.ArrayList<String>();
        customers.add(name);
        System.out.println(customers);
    }
}

悪い例:メソッドから型が分からない場合

呼び出しから型が明らかでない場合、varは読みやすさを損なう可能性があります。ここではparseが何を返すのか、ひと目では分かりません。

public class Main {
    static int parse(String s) {
        return Integer.parseInt(s);
    }
    public static void main(String[] args) {
        var result = parse("123");
        System.out.println(result + 1);
    }
}

良い例:長いジェネリック型

冗長なジェネリック型の宣言では、初期化子に型がすでに現れるため、varを使うとはっきり簡潔になります。

import java.util.HashMap;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        var groups = new HashMap<String, List<Integer>>();
        groups.put("odd", List.of(1, 3, 5));
        System.out.println(groups);
    }
}

悪い例:曖昧な数値リテラル

varを使うと、int、long、doubleのどれを意図したのか分からなくなることがあります。正確な数値型が重要な場合は、明示的な型を選んでください。

public class Main {
    public static void main(String[] args) {
        var x = 100;
        long big = x * 1000000L;
        System.out.println(big);
    }
}

意味のある名前を付ける

varを使うと、変数名がより重要になります。型がなくても読み手が意図を理解できるよう、説明的な名前を選んでください。

public class Main {
    public static void main(String[] args) {
        var customerCount = 5;
        var welcomeMessage = "Welcome";
        System.out.println(welcomeMessage + " (" + customerCount + ")");
    }
}

良い例:ループ変数

拡張forループではコレクションから要素の型が明らかなので、varを使ってもすっきり読めます。

import java.util.List;

public class Main {
    public static void main(String[] args) {
        var words = List.of("sky", "sea", "sun");
        for (var word : words) {
            System.out.println(word.length() + ": " + word);
        }
    }
}

悪い例:連鎖した呼び出し

長い呼び出しの連鎖から値を取得すると、結果の型が意外なものになることがあります。明示的な型を使えば、結果を読み手に伝えられます。

import java.util.List;

public class Main {
    public static void main(String[] args) {
        var count = List.of(1, 2, 3, 4).stream().filter(n -> n > 2).count();
        System.out.println(count);
    }
}

ファイル内で一貫性を保つ

一貫したスタイルを選んでください。似たコードの中でvarと明示的な型を無作為に混在させると、混乱を招くことがあります。予測しやすさを目指しましょう。

public class Main {
    public static void main(String[] args) {
        var first = "Jane";
        var last = "Doe";
        var full = first + " " + last;
        System.out.println(full);
    }
}

ダイヤモンド演算子がすでに役立つ

varを使う場合でも、右辺に型引数を残せます。左辺の型を省略する際にダイヤモンド演算子だけに頼るより、こちらのほうが明確です。

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        var names = new ArrayList<String>();
        names.add("Sam");
        System.out.println(names.get(0));
    }
}

経験則

初期化子から型が明らかで、名前にも意味がある場合はvarを使ってください。型が重要なのに見えない場合は避けましょう。次に読む人にとっての読みやすさが目的です。

public class Main {
    public static void main(String[] args) {
        var greeting = "Readable code wins";
        System.out.println(greeting);
    }
}

クイックチェック

読みやすさの点で、varを使う最も良い場面はどれですか?

まとめ

varが役立つ場面について学びました。

  • 良い例:初期化子から型が明らか、長いジェネリック型、要素の型が明確なループ変数
  • 悪い例:メソッドの結果が隠れている、数値型が曖昧、複雑な呼び出しの連鎖
  • 不足する型情報を補うために意味のある名前を使います
  • ファイル内で一貫性を保ちます
  • 次に読む人にとっての読みやすさを優先します

よくある質問

「varで可読性が向上する場合」レッスンは無料ですか?

はい。「varで可読性が向上する場合」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全4レッスンが含まれています。

「varで可読性が向上する場合」で何を学びますか?

varの適切な使い方と避けるべき使い方を学びます ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「varで可読性が向上する場合」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ローカル変数にvarを使う
  2. varで可読性が向上する場合
  3. forループ内のvar
  4. varの制限
← Java Academyに戻る