ホームページ  >  記事  >  バックエンド開発  >  コードの匂い - 低レベルの追加

コードの匂い - 低レベルの追加

PHPz
PHPzオリジナル
2024-09-12 10:21:41761ブラウズ

物事をどのように行うかは気にしないでください。自分の行動に気をつけよう

TL;DR: ループをなくす: 宣言型スタイルでよりクリーンなコードを作成する

問題点

  • 冗長ロジック
  • 繰り返しのパターン
  • 可読性
  • 保守性

ソリューション

  1. ループを削除
  2. ロジックを簡素化する
  3. 宣言的な高レベルのコードを作成する

コンテクスト

コレクションを合計するとき、要素を手動でループし、それぞれを変数に追加することがあります。

このアプローチは機能しますが、不必要なコード行が追加されるため、従うのが難しくなります。

言語の高レベル関数を使用すると、コードを短く、明確にし、エラーを発生させにくくすることができます。

コードがどのように実行しているかではなく、コードが何を実行しているかを正確に示します。

サンプルコード

間違っている

transaction_values = [10.0, -5.21, 101.32, 1.11, -0.38]
balance = 0
for transaction_value in transaction_values:
    balance += transaction_value

transactions_values = [10.0, -5.21, 101.32, 1.11, -0.38]
balance = sum(transactions_values)

検出

[X] 半自動

この匂いは、特に値の合計などの単純な操作において、結果を蓄積する明示的なループを見ると検出できます。

タグ

  • 宣言型

レベル

[X] 初心者

AIの生成

AI ジェネレーターは、sum() のような関数を使用する代わりに、冗長なループを記述することでこの匂いを生成することがあります。

よりクリーンな宣言型ソリューションの必要性を明示しない場合、より多くのコード行を選択する可能性があります。

AI検出

AI システムは、「最適化」または「簡素化」という簡単な指示でコードの複雑さを軽減するように要求すると、この臭いを簡単に検出して簡素化できます。ほとんどの AI ツールは、この場合に sum() を使用することを提案します。

試してみてください!

AI アシスタントは多くの間違いを犯すことを忘れないでください

適切な指示がなければ

ChatGPT クロード・パープレクシティ・ジェミニ

具体的な指示付き

ChatGPT クロード・パープレクシティ・ジェミニ

結論

sum() のような宣言型関数を優先すると、可読性が向上し、潜在的なエラーが減ります。

手動ループの必要性が減り、メンテナンスが容易になります。最小限の構文と乱雑さを使用して、コードが何を行っているかを正確に示します。

関係

免責事項

コードの匂いは私の意見です。

クレジット

Unsplash の Kati Hoehl による写真


プログラムの最も重要な特性は、ユーザーの意図を達成できるかどうかです。

C.A.R.ホア


この記事は CodeSmell シリーズの一部です。

以上がコードの匂い - 低レベルの追加の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。