重複箇所を修正するためのリファクタリング

「終了」の確認部分を共通化するために、check_exit(input_value) という関数を作成します。この関数は、入力が「終了」であるかを判定し、「終了」であれば True を返します。メインのコードでは、この関数を使って「終了」の確認を行い、共通化された形にリファクタリングします。


はじめに

HI Engineer Collegeでは、実務未経験のエンジニアの方や、エンジニアに興味がある方を募集したおります、まずはお気軽にお問い合わせください。

※ (株)G&T(【内々定まで最短2週間】ゼロからしっかりじっくり研修☆20代活躍中!)

https://qiita.com/embed-contents/link-card#qiita-embed-content__3ec12c22a2ecec52ef892e4995104eb8

※ HI Engineer Collegeに興味あがある方はこちら(プログラミングを学習したい方)

https://qiita.com/embed-contents/link-card#qiita-embed-content__ec2b47ad6b08281e7c8c9275262029c9


エンジニア向けチャットルーム「TechTalk」参加者募集中!

プログラミングやITの話題を気軽に共有し、学び合えるエンジニアのためのチャットルーム「TechTalk」では、新たな参加者を募集中です!

こんな方にオススメです

  • 最新技術の動向やトレンドを追いかけたい
  • 日々の開発で生じる疑問を他のエンジニアに相談したい
  • コードレビューの方法やデバッグのコツを知りたい
  • 他のエンジニアと共に成長できる場を探している

チャットルームで扱う主なトピック

  • プログラミング: JavaScript、Python、Javaなど、言語やフレームワークについて
  • 開発ツール: Git、Docker、CI/CD の自動化など
  • キャリア: 転職やキャリアパス、業界動向
  • AI/機械学習: モデルの開発やトレンド
  • Webセキュリティ: セキュリティ対策や最新の脅威情報

チャットルームの特徴

  • 他のエンジニアからリアルタイムでフィードバックがもらえます
  • 勉強会やハンズオンセッションも定期開催
  • 初心者から上級者まで、幅広いレベルのエンジニアが在籍
  • リモートワーク時のちょっとした相談や雑談も大歓迎

参加方法
下記リンクから「TechTalk」へぜひご参加ください。

https://line.me/ti/g2/xRolADFbfopNo4vdgA9hmAlAlMgxvaIUSNDx8A?utm_source=invitation&utm_medium=link_copy&utm_campaign=default


リファクタリング後のコード

def check_exit(input_value):
    """入力が「終了」であれば True を返し、プログラムを終了するメッセージを表示"""
    if input_value == "終了":
        print("プログラムを終了します。")
        return True
    return False

while True: 
    # ユーザーに縦の長さを入力してもらう 
    height_input = input("長方形の縦の長さを入力してください(例: 5.0)または「終了」と入力して終了: ") 
     
    # 終了の確認
    if check_exit(height_input): 
        break 
 
    # ユーザーに横の長さを入力してもらう 
    width_input = input("長方形の横の長さを入力してください(例: 3.0): ") 
 
    # 終了の確認
    if check_exit(width_input): 
        break
 
    try: 
        # 入力された値をfloatに変換 
        height = float(height_input) 
        width = float(width_input) 
 
        # 面積を計算 
        area = height * width 
 
        # 面積を表示する 
        print(f"長方形の面積は {area} です。") 
 
        # 面積が50以上かどうかを判断 
        if area >= 50: 
            print("大きい長方形です") 
        else: 
            print("小さい長方形です") 
 
    except ValueError: 
        # 数字以外が入力された場合 
        print("エラー: 数字を入力してください。")

変更点と説明

  1. check_exit 関数の作成
    • この関数は引数として input_value を受け取り、もし input_value が「終了」であれば、終了メッセージを表示し True を返します。
    • False が返された場合は、処理を続けます。
  2. 共通化によるリファクタリング
    • height_input と width_input の両方で check_exit 関数を使うことで、同じ「終了」の確認コードを繰り返す必要がなくなり、可読性が向上しました。