<一覧に戻る

冗長性の排除

冗長性の排除は、リーダブルなコードを書くための重要な原則の一つです。冗長なコードは、保守性や可読性を損ない、バグを引き起こす原因にもなります。本教材では、冗長性を排除する方法について学びます。

冗長なコードの例

まずは、冗長なコードの一例を見てみましょう。以下は、ある商品の価格を計算する関数の例です。

def calculate_total_price(prices, tax_rate):
    total = 0
    for price in prices:
        total = total + price
    total_with_tax = total + (total * tax_rate)
    return total_with_tax

このコードは、商品の合計価格を計算し、税金を加えた結果を返しますが、冗長な部分があります。

冗長性を排除する方法

上記のコードには、以下の冗長な部分があります。

  1. totalの計算が冗長
  2. 税金の計算が冗長

これらを改善するために、以下のように書き換えることができます。

def calculate_total_price(prices, tax_rate):
    total = sum(prices)  # 合計の計算を簡潔に
    return total * (1 + tax_rate)  # 税金を加えた合計を返す

解説

  1. 合計の計算: sum(prices)を使用することで、リスト内の価格の合計を簡潔に計算できます。これにより、長いループを書く必要がなくなります。

  2. 税金の計算: total * (1 + tax_rate)を使うことで、税金を加えた合計を一行で計算しています。これにより、コードが短くなり、可読性が向上します。

冗長性の排除のポイント

冗長性を排除するためのポイントは以下の通りです。

  • 繰り返しの排除: 同じ処理を複数回書かない。
  • 簡潔な表現: 短く、明確に表現できる方法を選ぶ。
  • 適切なライブラリや関数の利用: 標準ライブラリや既存の関数を活用する。

ハンズオン

次に、実際に冗長性を排除する練習をしてみましょう。以下のコードを改善して、冗長な部分を排除してください。

def calculate_discounted_price(original_price, discount_rate):
    discount = original_price * discount_rate
    discounted_price = original_price - discount
    return discounted_price

期待される結果

冗長性を排除するために、以下のようにコードを改善してください。

def calculate_discounted_price(original_price, discount_rate):
    return original_price * (1 - discount_rate)

まとめ

冗長性の排除は、リーダブルなコードを書くために非常に重要です。冗長なコードは、可読性や保守性を低下させるため、常にコードを見直し、簡潔に表現できる方法を模索することが大切です。今回の教材を通じて、冗長性を排除する方法について理解が深まったことを願っています。

出力結果: