ホームページ バックエンド開発 Python チュートリアル ユースケースとしてのクリーンで効率的で保守可能なコード - Python の作成。

ユースケースとしてのクリーンで効率的で保守可能なコード - Python の作成。

Sep 26, 2024 pm 10:12 PM

Writing Clean, Efficient, and Maintainable Code - Python as use case.

ユースケースとしてのクリーンで効率的で保守可能なコード - Python の作成
開発者としてしばらく働いたことがある人なら、機能するものを急いで書くのではなく、適切なコーディングの重要性を理解しているかもしれません。これがあなたにもたらす最大の欠点の 1 つは、コードをレビューする必要があるときに、自分が何をしようとしていたのかほとんど理解できず、他の人にとってはコードを読むのが難しいことです。 

私は最近いくつかのコードをレビューしていますが、コードをクリーンで効率的にする必要性を強調することが重要だと思います。

コーディングにおけるガイドラインとスタイルの歴史

C プログラミング言語の人気が高まっていた 1970 年代初頭、コーディング スタイルが議論の対象となり、これに関連した 2 人の著名な人物がブライアン カーニハンとデニス リッチーでした。

興味深いことに、Ada 言語は 1980 年代後半に厳格なコーディング ガイドラインと標準を強制しました。 1990 年代半ば、Python と Java には初期段階から強力なコーディング規約が組み込まれ、Python 拡張提案 (PEP 8) がうまく採用され、現在でも有効なコーディング規約となっています。

  1. コード スタイルに関する PEP 8 ガイドライン: 私はこのガイドラインを時々使用しており、他のプログラマーがこれを採用しているのを見てきました。 

VS Code の flake8 コード lint 拡張機能は、私が使用する素晴らしい選択肢です。 
ガイドラインは次のとおりです:
インデント: インデント レベルごとに 4 つのスペースを使用します。
行の長さ: すべての行を最大 79 文字に制限します。
命名規則: 関数名と変数名にはsnake_caseを使用し、クラス名にはCamelCaseを使用します。

例:

`# defining variables using snake_case

total_price = 100
customer_email = "customer@example.com"

# defining functions using snake_case
def calculate_total_price():
    pass

class OrderManager:
    pass`
ログイン後にコピー

2.意味のあるコメントとドキュメント: Docstrings は、開発者が関数/メソッドの目的、パラメータ、戻り値を理解するのに役立ちます。一般に、それらを紹介し、複雑なロジックや決定を明確にするためにコメントを書くことは良い習慣です
例:

def calculate_total_price(price: float, quantity: int) -> float:
    """
    Calculate the total price of items.

    Args:
        price (float): The price of a single item.
        quantity (int): The number of items purchased.

    Returns:
        float: The total price.
    """
    return price * quantity
ログイン後にコピー

**3.コードの繰り返し: **単純な経験則として、既に実装されているコードの繰り返しを避け、代わりに DRY 原則に従い、再利用可能な関数を作成します。これに対する注意点は、新しい開発者が変更を実装するとき、開発者は省略された重複コードがあることに気づかない可能性があり、このエラーのせいで多くのことが台無しになる可能性があるということです。

たとえば、価格と数量を乗算して e コマース ストアの合計価格を計算する関数があるとします。

total_price_laptops = 1000 * 2
total_price_phones = 500 * 3
This, is easily done with reusable functions like this:
def calculate_total(price, quantity):
    return price * quantity

total_price_laptops = calculate_total(1000, 2)
total_price_phones = calculate_total(500, 3)
ログイン後にコピー

4.タイプヒント: Python は動的に型付けされる言語であり、コードのタイプヒントにより可読性が向上し、エラーを早期にキャッチできます。どのようなデータ型が期待されるのかを理解しやすくなります。

例:

def get_discounted_price(price: float, discount: float) -> float:
    return price - (price * discount)
ログイン後にコピー

**5.テストの作成: **テストはコードの機能を検証します。 Unittest や pytest などの人気のあるフレームワークを使用すると、テストの作成と実行が簡単になります。テストによって、コードが期待どおりに動作することが確認され、変更またはリファクタリングを行うときにバグが発生するリスクが軽減されます。

def test_calculate_total_price():
    assert calculate_total_price(100, 2) == 200
ログイン後にコピー

6.例外: 製品コードが意味のないコード行をクライアント ユーザーに出力したり、さらに悪いことに環境変数を出力したりすると、恥ずかしいことになる可能性があります。これを回避するには、例外 try/excel/finally 処理を使用して予測可能なエラーを管理し、アプリケーションが予期せずクラッシュしないようにする方が簡単です。

try:
    value = int(input("Enter a number: "))
except ValueError:
    print("That's not a valid number!")
finally:
    print('Thank you!')
ログイン後にコピー

7.コードのモジュール化: コードを 1 つのファイルに保存しなければならないというルールはありません。大きなコード ブロックをより小さな再利用可能なモジュールに分割し、必要に応じてアプリケーション全体にインポートします。テストと更新が簡単になります。

8.バージョン管理: Git のようなバージョン管理システムは、最新の開発における基本的なベスト プラクティスです。他には、Beanstalk、PerForce、Apache Subversion などがあります。バージョン管理は変更を追跡し、コラボレーション中の人為的エラーや意図しない結果を大幅に削減します。

PEP 8 に準拠し、コードを DRY に保ち、意味のあるドキュメントを作成し、例外を適切に処理するなどのベスト プラクティスに従うことで、Python プロジェクトをプロフェッショナルでスケーラブルで保守しやすいものにすることができます。 
今すぐこれらのヒントの実装を開始すると、コードの品質が顕著に向上することがわかります。

以上がユースケースとしてのクリーンで効率的で保守可能なコード - Python の作成。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python:ゲーム、GUIなど Python:ゲーム、GUIなど Apr 13, 2025 am 12:14 AM

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Python vs. C:曲線と使いやすさの学習 Python vs. C:曲線と使いやすさの学習 Apr 19, 2025 am 12:20 AM

Pythonは学習と使用が簡単ですが、Cはより強力ですが複雑です。 1。Python構文は簡潔で初心者に適しています。動的なタイピングと自動メモリ管理により、使いやすくなりますが、ランタイムエラーを引き起こす可能性があります。 2.Cは、高性能アプリケーションに適した低レベルの制御と高度な機能を提供しますが、学習しきい値が高く、手動メモリとタイプの安全管理が必要です。

Pythonと時間:勉強時間を最大限に活用する Pythonと時間:勉強時間を最大限に活用する Apr 14, 2025 am 12:02 AM

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

Python vs. C:パフォーマンスと効率の探索 Python vs. C:パフォーマンスと効率の探索 Apr 18, 2025 am 12:20 AM

Pythonは開発効率でCよりも優れていますが、Cは実行パフォーマンスが高くなっています。 1。Pythonの簡潔な構文とリッチライブラリは、開発効率を向上させます。 2.Cのコンピレーションタイプの特性とハードウェア制御により、実行パフォーマンスが向上します。選択を行うときは、プロジェクトのニーズに基づいて開発速度と実行効率を比較検討する必要があります。

Python Standard Libraryの一部はどれですか:リストまたは配列はどれですか? Python Standard Libraryの一部はどれですか:リストまたは配列はどれですか? Apr 27, 2025 am 12:03 AM

PythonListSarePartOfThestAndardarenot.liestareBuilting-in、versatile、forStoringCollectionsのpythonlistarepart。

Python:自動化、スクリプト、およびタスク管理 Python:自動化、スクリプト、およびタスク管理 Apr 16, 2025 am 12:14 AM

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

Pythonの学習:2時間の毎日の研究で十分ですか? Pythonの学習:2時間の毎日の研究で十分ですか? Apr 18, 2025 am 12:22 AM

Pythonを1日2時間学ぶだけで十分ですか?それはあなたの目標と学習方法に依存します。 1)明確な学習計画を策定し、2)適切な学習リソースと方法を選択します。3)実践的な実践とレビューとレビューと統合を練習および統合し、統合すると、この期間中にPythonの基本的な知識と高度な機能を徐々に習得できます。

Python vs. C:重要な違​​いを理解します Python vs. C:重要な違​​いを理解します Apr 21, 2025 am 12:18 AM

PythonとCにはそれぞれ独自の利点があり、選択はプロジェクトの要件に基づいている必要があります。 1)Pythonは、簡潔な構文と動的タイピングのため、迅速な開発とデータ処理に適しています。 2)Cは、静的なタイピングと手動メモリ管理により、高性能およびシステムプログラミングに適しています。

See all articles