🙌

コメントすべきこととすべきでないこと

2023/04/11に公開

コードが何をしているのかを、コメントで説明することは、コードの可読性を向上させるために非常に重要です。しかし、コメントが冗長である場合は、かえってコードを読みづらくすることがあります。

コメントアウトすべきことと、すべきでないこと

コードのコメントは、コードの理解を助けるために重要な役割を果たします。しかし、コメントの書き方によっては、かえってコードを読みづらくしてしまうこともあります。そこで、本記事では、コメントアウトすべきことと、すべきでないことについて解説します。

1. コメントアウトすべきこと

1-1. コードの意図や目的の説明

例えば、以下のようなコードがあったとします。

# 変数xに2を代入する 
x = 2

このような場合、コメントによって変数に代入される値が説明されていますが、コメントが冗長であるため、かえってコードを読みづらくしてしまいます。このような場合は、コメントを省略することが望ましいでしょう。

一方で、コードが複雑である場合や、特別な処理がある場合は、コメントを付けることでコードの可読性を向上させることができます。例えば、以下のようなコードがあったとします。

# ファイルを読み込む 
with open("sample.txt", "r") as f: 
# 1行ずつ読み込む 
	for line in f: 
# 行末の改行文字を削除する 
		line = line.rstrip() 
# 行をスペースで分割する 
		words = line.split(" ") 
# 単語数をカウントする 
		count = len(words) 
# 単語数を出力する 
		print(count)

このコードは、ファイルからテキストを読み込み、各行に含まれる単語数をカウントして出力するものです。このような場合は、コメントを付けることで、コードの意図や目的が明確になります。

1-2. 複雑な処理やアルゴリズムの説明

複雑な処理やアルゴリズムを実装する場合は、コメントを付けることで、コードの可読性を向上させることができます。例えば、以下のようなコードがあったとします。

# フィボナッチ数列を計算する 
def fibonacci(n): 
# 初期化 
	a, b = 0, 1 
# nが0以下の場合は0を返す 
	if n <= 0: return 0 
# nが1以下の場合は1を返す 
	elif n == 1:
		return 1 
	else: 
# フィボナッチ数列を計算する
		for i in range(n - 1):
			a, b = b, a + b 
		return b

このコードは、フィボナッチ数列のn番目の値を計算するものです。このような場合は、コメントを付けることで、フィボナッチ数列の計算方法が明確になります。

1-3. 仕様の説明

コードが実装する仕様や、仕様に基づく決定事項を説明することは、コードの可読性を向上させるために重要です。例えば、以下のようなコードがあったとします。

# 燃料の種類 
FUEL_TYPE = { "gasoline": 1, "diesel": 2, "electric": 3 }

このコードは、燃料の種類を定義するものです。このような場合は、コメントを付けることで、燃料の種類に関する仕様が明確になります。

2. コメントアウトすべきでないこと

2-1. 不要なコメント

コードが明確である場合や、冗長なコメントがある場合は、コメントを省略することが望ましいでしょう。例えば、以下のようなコードがあったとします。

# 変数aに1を代入する 
a = 1

このような場合は、コメントが冗長であるため、コメントを省略することが望ましいでしょう。

2-2. コードの説明

コードが何をしているのかを説明するためのコメントは、必要な場合がありますが、コードが自己説明的である場合は、コメントを付ける必要はありません。例えば、以下のようなコードがあったとします。

# リストから重複した要素を削除する 
unique_list = list(set(original_list))

このような場合は、コメントが不要であり、コード自体が十分に説明的であるため、コメントを省略することが望ましいでしょう。

2-3. バグの説明

コードにバグがある場合、コメントを使ってそのバグを説明することは、開発者がコードの修正に役立ちます。しかし、バグを修正した場合は、コメントを削除することが重要です。例えば、以下のようなコードがあったとします。

# リストの要素を2倍にする 
new_list = [] for i in range(len(old_list)): new_list.append(old_list[i] * 2)  
# バグ:リストの要素を2倍にする代わりに、要素を足し合わせています。

このような場合は、バグの説明コメントが必要であり、修正後にはコメントを削除することが望ましいでしょう。

2-4. コードの履歴

コードを改善するために、変更の履歴を残すことは重要です。しかし、コードの履歴を記録するために、コードの一部をコメントアウトすることは避けるべきです。代わりに、バージョン管理システムを使用して、変更の履歴を追跡することが望ましいでしょう。

まとめ

以上が、「コメントアウトすべきことと、すべきでないこと」についての解説となります。コメントアウトの適切な使い方を身につけることで、コードの可読性を向上させることができます。

Discussion