✏️

他人のC#コードを読めるようになりたい私が最初に理解したメソッドの話 ─ CountEvenNumbersで学んだ「読む力」の第一歩

に公開

はじめに

現在、リワーク期間中にC#の学習を進めています。
復職後には業務で他の人が書いたコードを読むことが増えることを想定し、「コードを読んで理解する」練習を始めました。

最初のテーマは、「他人が書いたメソッドの中身を読んで説明できるようになること」。
その第一歩として、以下のような簡単な関数を読み解くことに挑戦しました。

読んだコード

public int CountEvenNumbers(int[] numbers)
{
    int count = 0;
    foreach (int n in numbers)
    {
        if (n % 2 == 0)
        {
            count++;
        }
    }
    return count;
}

自分の最初の理解(間違い)

「2で割った時のを返す関数かな?」
→ 実はこれは違いました。実際は、「2で割って余りが0になる=偶数」の個数をカウントして返していたんです。

学んだこと

  • foreach は「配列やコレクションに使う構文」で、1つずつ中身を取り出す
  • n % 2 == 0 は「偶数かどうか」を判断する典型的な書き方
  • CountEvenNumbers という名前は、「偶数をカウントする」という意味が自然だった
  • 「C#では関数は基本的に“メソッド”と呼ぶ」といった呼び方の違いも学べた
  • for との違いも知った。foreachは読みやすいが、配列のインデックスを使いたいときはforが便利

おわりに

「関数を読む練習ってこんなに気づきがあるんだ」と実感しました。
コードを書けるようになる前に、まず「読める」ようになることが、復職後の安心感にもつながる気がしています。

これからも、読んだコードとその気づきを記録していきます。
似たような立場の方の参考になればうれしいです。

Discussion