✏️
他人の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