プログラムの可読性と保守性を改善するために、我々はこの及びその他の規範として重要とコーディングスタイル、うまく設計されたソフトウェアのディレクトリ構造でなければなりません。ディレクトリ指定は、あなたがはっきりと読める、お使いのソフトウェアfooという名前を想定し、私は次のディレクトリ構造をお勧めすることができます限り、何のハードと高速標準ソフトウェアではありません
FOO / | -コア/ | | - core.py | | - API / | | - api.py | | -デシベル/ | | - db_handle.py | | - libに/ | | - common.py | | - confに/ | | - のsettings.py | | - run.py | - のsetup.py | - requirements.txt | - README
簡単に説明します。
•コア/:保存するビジネスロジック関連コード
•API /:ファイル記憶インターフェイス、インターフェイスは、主にビジネス・ロジックの動作のためのデータを提供するために使用されます。
•DB /:データベース関連のファイルは、主にデータベースと対話するため、操作を保存
•libに/:一般的にカスタムモジュールで使用されるストアドプロシージャ
•confに/:ストアの構成ファイル
•run.py:デフォルトでは、実行時にこのように処理する環境を排除し、最初のパスとしてどこのsys.pathファイルフォルダを実行するためのプログラムの起動ファイルは、通常、プロジェクトのルートディレクトリに置かステップ変数
•setup.py:インストール、展開、パッケージ化されたスクリプト。
•requirements.txt:Pythonのパッケージストアの外部ソフトウェア依存関係のリスト。
•README:プロジェクトのドキュメント。
また、プログラムの数は、主にオープンソースのプロジェクトのニーズに使用される、などLICENSE.TXT、ChangeLog.txt文書として、より多くのコンテンツを与えられているがあり、読者が自分を見て。
READMEについて、これはすべてのプロジェクトファイルを持つべきである必要があり、目的は、読者がすぐにプロジェクトを理解することができ、プロジェクトの説明の簡潔な情報をできるようにすることです。これは、以下の事項ことに留意すべきです。
1 、基本的なソフトウェアローカリゼーションの機能、ソフトウェア、 2 、動作コード方法:設置環境、開始コマンド; 3 、簡単な命令と、 4 、コードディレクトリ構造、およびより多くのポイントは、ソフトウェアの基本的な原理を説明することができ、 5、よくある質問。
setup.pyとrequirements.txtについて:
一般的に、パッケージのコード、インストールと展開の問題を管理するためにsetup.pyを使用します。業界標準は、これらの事を管理するためのPythonのsetuptoolsの人気のパッケージングツールで書かれている、このアプローチは、広くオープンソースプロジェクトで使用されています。しかし、ここではこれらの問題を解決するために標準化されたツールを使用していないの核となるアイデアだが、プロジェクトは、インストールするための展開ツールを持っている必要があります迅速かつ容易に、コードをデプロイして実行される環境に新しいマシンにインストールすることができることを言いましたアップ。
Requirements.txtファイルには、ソフトウェアの依存関係を維持するために、開発者の利便性のために存在します。私たちは、依存関係をsetup.py installをするとき欠落しているパッケージを避けるために、ファイルに追加し、データベースの開発プロセスの情報に依存する必要がありますが、プロジェクトのPythonパッケージへのユーザーの明確な参照のためにも便利。
ファイルフォーマットは、パケットに依存し、通常フラスコ> = 0.10このフォーマットを含み、要求がPIPフォーマットであり、各行に記載されている単にPIPによって全てのPythonに-r requirements.txtをインストールするように、識別することができます依存ライブラリは、特定のフォーマットを参照して、インストールされているhttps://pip.readthedocs.io/en/1.1/requirements.html