9. リーダブルコードの実例
9.1 よくあるコードの問題点
以下に、リーダブルコードでない例を示します。
def p(x, y):
z = x + y
if z > 10:
return True
else:
return False
このコードには、次のような問題点があります。
- 関数名と変数名が短すぎて、その目的が理解しにくい。
-
if
文のelse
節を省略できるが、そのままになっている。
9.2 改善例と解説
問題点を解消した改善例を以下に示します。
def is_sum_greater_than_ten(x: int, y: int) -> bool:
sum_value = x + y
return sum_value > 10
この改善例では、以下の点が改善されています。
- 関数名が具体的で、引数の型と戻り値の型が明示されている。
- 変数名がわかりやすく、コードの意図が明確になっている。
-
if
文をシンプルにし、else
節を省略した。
9.3 実践編: リーダブルコードへのリファクタリング
以下に、リーダブルコードへのリファクタリングの実例を示します。
不適切なコード:
def f(l):
t = 0
for i in l:
t += i
return t
リファクタリング後のコード:
def calculate_sum(numbers: List[int]) -> int:
total = 0
for number in numbers:
total += number
return total
リファクタリング後のコードでは、関数名と変数名がわかりやすくなり、引数と戻り値の型が明示されています。これにより、コードの可読性が向上し、他の開発者が理解しやすくなります。