踏み込んだコードレビュー

踏み込んだコードレビュー

AIにコードレビューをしてもらいます。 ほとんど正解のようなコードやクエリでも「〇〇はよくできています。〇〇をすることでさらによくなります」のように、さらなる改善のためのコメントをもらうことができます。

2
0
240
19
user_67369836324403200
user_30310968623294464
がお気に入り登録しました。

投稿日時:

  • プロンプト実行例
  • プロンプトを見る
踏み込んだコードレビュー

レビューしてもらいたいコードを入力してください。

Python
1def euclidean_algorithm(a, b):
2    while b != 0:
3        a, b = b, a % b
4    return a
5  
6a = 24
7b = 36
8 
9result = euclidean_algorithm(a, b)
10
11print(f"The greatest common divisor of {a} and {b} is {result}")
踏み込んだコードレビュー

このコードは、ユークリッドの互除法を使用して、与えられた2つの数の最大公約数を計算する関数を示しています。実行結果も出力されています。

コード自体は非常に短く、効率的です。ただし、関数名や変数名などの命名規則に関するいくつかのコメントがあります。

以下に具体的な指摘、コメント、アドバイスを示します。

  1. 関数名: 関数名 euclidean_algorithm は、特定の演算方法を示していますが、より一般的な名前に変更することもできます。たとえば、greatest_common_divisor などの名前に変更することで、実行する算術の意図をより明確に表現できます。

  2. 変数名: 変数名 ab は一般的な名前ですが、より意味のある名前に変更することができます。たとえば、num1num2dividenddivisor などの名前は、より意味を持つ命名です。これにより、関数の返り値やプログラムの他の部分との関係がより明確になります。

  3. ドキュメントストリング: コードの上にドキュメントストリングを追加することをおすすめします。関数の目的、引数、戻り値についての簡単な説明を提供することで、コードの可読性が向上します。たとえば、以下のようなコードを追加できます。

Python
1def euclidean_algorithm(a, b):
2    """
3    Calculate the greatest common divisor of two numbers using Euclidean algorithm.
4    
5    Arguments:
6    - a: The first number
7    - b: The second number
8    
9    Returns:
10    The greatest common divisor of a and b.
11    """
12    while b != 0:
13        a, b = b, a % b
14    return a

これらの変更を行うことで、より明確で読みやすいコードになります。このコードは、数学のアルゴリズムを示す優れた例です。

コメント 0

他のプロンプトもチェック

  • 文案作成

    尊敬語・謙譲語も適切に使用し、文意を維持したまま簡潔にまとめてくれ、 必要に応じて自然な表現となるよう、文構造を軽く調整してくれます。
  • GPTs

    計画立案

    生成AIパスポート試験本番(2月16〜17日) に向けた直前の試験対策GPTです。 生成AIパスポート試験のシラバスから出題します。 章番号を指定すると10問の練習問題が出題されます。 4択の演習問題と穴埋めの演習問題を交互に出題します。 4択ばかりだと飽きてきますので穴埋め問題も交互に出題されるようにしました。 10問おわると正答率を表示します。 間違えた問題を中心に学習することもできます。 また、やっていない問題を中心に学習することもできます。 人は、考えてみてわからなったという体験のすぐ後に解説が表示されると記憶に残りやすいものです。 解答をまちがったりわからなかったあとは詳しく、その内容について詳しく表示されます。
  • チャットボット

    DeepSeekがおすすめ
  • 画像生成

    SNS投稿

    いろんな名前からプロフィール画像を作成します。自分だけでなく偉人や有名人のプロフィール画像も!
    8
    0
    28
    1.08K