コード品質アシスタンスのヒントとトリック、もしくはコードをきれいに見せる方法?
このチュートリアルの内容
このチュートリアルでは、PyCharm のコードインテリジェンス機能を活用しながら、Python プロジェクトでソースコードを作成する手順を順番に説明します。 PyCharm は、適切なインデントやスペース、インポートなどによってソースコードを完璧な状態に保つのに役立ちます。 実際、PyCharm 自体がコード品質ツールであることがわかります。
Python プログラミングはこのチュートリアルの範囲外です。 Python 言語の詳細については、 公式 Web サイトを参照してください。
始める前
以下を確認してください:
PyCharm バージョン 5.0 以降を使用しています。 PyCharm をまだお持ちでない場合は、 このページからダウンロードしてください。 PyCharm をインストールするには、プラットフォームに応じた手順に従ってください。
Python プロジェクト () が作成されました。 詳細については、 製品ドキュメントを参照してください。
src と test_dir の 2 つのディレクトリ( または Alt+Insert )を作成しました。
プロジェクト( または Alt+Insert )の src ディレクトリおよび test_dir ディレクトリに Python ファイルを追加しました。 ファイルの作成方法の詳細については、「プロジェクトを作成する 」セクションを参照してください。
コードスタイル違反のハイライト
新しい Python ファイル src/Solver.py Alt+Insert を作成します。 作成したファイルはすぐに編集用に開きます。 ファイルはデフォルトで内容がありません。これは、ファイル Solver.py が ファイルテンプレート によって作成されており(Python ファイルの場合)、何も含まれていないためです。
次に、キーワード class の入力を開始します。 入力を開始するとすぐに、PyCharm はコード補完のための候補リストを表示します:

赤いカーブは次に入力が必要な箇所を示しています。この場合、必要な識別子を表します。 クラス名 Solver を入力します。 赤いカーブはクラス名の後に移動します。 このカーブにカーソルを合わせると、エラーの説明(「:」が必要)が表示されます。 また、右側のガターにある赤いエラーストライプにも注意してください―これも同じエラーを示しています:

コロンを入力して、 Enter を押します。 Python コードスタイルに従って、次のステートメントはインデントされます。 誤って Enter の後にスペースを押すと、コードスタイル設定に違反することになります。
PEP 8 インスペクションのチューニング
に移動し、 インスペクションページで PEP 8 と入力して、PEP 8 に関連するすべてのインスペクションを検索します。 デフォルトでは、PEP 8 コーディングスタイル違反はハイライトされず、PEP 8 命名規則違反は弱い警告に過ぎず、表示されません。
まず、重要度を上げてみましょう。 重大度ドロップダウンリストから、 警告 を選択します。

変更を適用して、ダイアログを閉じます。 ソースコードに戻りましょう。
PEP 8 ルールの追跡
次のステートメント、たとえば def demo(self,a,b,c): を入力すると、PyCharm は PEP 8 インスペクションからのメッセージを表示します:

ご覧のとおり、PyCharm は公式の Python スタイルガイドである PEP 8 をサポートしています。 インスペクション(Ctrl+Alt+S - インスペクション )のリストを調べると、PyCharm がコード上で pep8.py ツールを起動し、コードスタイル違反を特定していることがわかります。
コードインスペクションとその設定
インスペクションページをよく確認してください。 このページを開いたばかりの場合は、 デフォルトのインスペクションプロファイルとそのデフォルトの設定が適用されます。つまり、すべてのプロジェクトソースにインスペクションが適用されます。
このプロファイルを異なる スコープ に合わせてカスタマイズしてみましょう:
テストスコープでは、スペルエラーはタイプミス (緑) としてマークされる必要があります。
製品スコープでは、スペルエラーはエラー (赤) としてマークされる必要があります。
スコープの作成
まず、2 つのスコープを定義しましょう。 これを行うには、メインツールバーで をクリックし、 設定 ダイアログでノード 外観 & 振る舞い を展開し、ページ スコープ を開きます。 次に、
をクリックし、スコープタイプ ローカル を選択します。
新規スコープの追加 ダイアログでスコープ名 (Test) を入力し、プロジェクトツリーで、テストスコープに含めるディレクトリ test_dir を選択します。 ディレクトリを含めると、 パターン フィールドが自動的に入力されます。

このプロセスを繰り返して、本番スコープを作成します。
これらのスコープでインスペクションプロファイルを作成する
次に、デフォルトプロファイルの コピーを作成しましょう。 これを行うには、 に移動し、 をクリックして、ドロップダウンリストから プロジェクトにコピー ... を選択します。
新しい名前を付けます (例: MyProjectProfile)。 この新しいプロファイルはデフォルトのプロファイルのコピーであり、同じインスペクションセットを持ちます。

この新しいプロファイルを選択した状態で、 タイプミスインスペクション を見つけて変更してみましょう。
すべてのスコープ ボタンをクリックし、リストから テスト スコープを選択します。 本番環境用 スコープについても同じ手順を繰り返します。

テスト スコープではインスペクションの重大度はそのまま(タイプミス)のままですが、 本番環境用 スコープでは重大度リストから エラー を選択します:

インスペクションのカラーコードに注意してください。 変更されていない場合は黒で表示されます。 青色の場合は、変更されたことを意味します。
変更を適用して、ダイアログを閉じます。
これで、修正されたインスペクションプロファイルの準備ができました。 次に、このプロファイルに対してコードをインスペクションしてみましょう。 これを行うには、メインメニューで に移動し、ダイアログで目的のプロファイルとスコープを選択します。

それを 2 回しましょう - テストおよび本番スコープのために(それ以上のインスペクションと共有のためにインスペクション結果を保存したいなら、それらを エクスポートすることができる)。 結果を調べる:

エラーのハイライト
PyCharm は、コーディングスタイル違反だけでなく、選択したプロファイルに応じて他のエラーもハイライトします。
たとえば、インスペクションプロファイルに Python インスペクション 未解決の参照 が含まれていて、まだインポートされていないシンボルを使用している場合、PyCharm は未解決の参照に下線を引き、import 文を追加することを提案します:

ソースコードの生成
PyCharm は自動的にコードを生成するための多くの機能を提供しています。 自動生成機能については、 製品資料で調べることができます。 主なコード生成手順を調べてみましょう。 それには、 Solver.py ファイルの内容をすべて削除して、最初からやり直すだけです。
まず、クラスのインスタンスを作成します。

次に、 Alt+Enter を押して、インテンションアクション クラス 'Solver' を作成 を選択します。

PyCharm はクラスのスタブを作成しました:

次に、クラスインスタンスにメソッドを追加しましょう。 これを行うには、クラスインスタンスの後にドットを入力し、メソッド名を入力します。 このメソッドはまだ存在せず、PyCharm が作成を提案します:

手作業でソースコードを入力してみましょう。 判別式を計算するには、平方根を取り出す必要があります。 ライブラリ math には専用の関数 sqrt がありますが、まだインポートされていません。 とにかく入力して、PyCharm がどのように対処するか見てみましょう。 Alt+Enter を押して、 インポート '数学' を選択します。

次のようなソースコードになっています:
しかし、重要な分析が一部欠けています。 被開平数 d を分析したいと考えています。 値が 0 または正なら判別式と方程式の解を計算し、被開平数が負のときは例外を発生させます。
コードのブロックを if 構造で囲みます。 d が負でない場合に完了するステートメントを選択し、 Ctrl+Alt+T を押します (またはメインメニューから を選択します)。

候補リストから if オプションを選択します。 ご覧のとおり、PyCharm は自動的に if True: を追加し、選択した行をインデントします:

ブール式には全く関心がないので、選択した True を d >= 0 に変更します。 次に、最後の行の末尾にキャレットを置き、 Enter を押します。 キャレットは次の行に移動し、 if ステートメントと同じインデントになります。 else: と入力すると、PyCharm が期待されるインデントについて報告します:

再度 Enter を押すと、キャレットはインデントされた位置にあります。 ここで PyCharm の強力な自動コード補完を使って例外式を入力できます:

コードを整形
Solver.py ファイルをもう一度見てみましょう。 その右側のガターには黄色の縞模様が見えます。 ストライプ上にマウスを置くと、PyCharm は該当するコード内の問題の説明を表示します:

これらは警告に過ぎず、結果には影響しません。 ただし、PyCharm にはこれらすべてを手間なく修正する方法が用意されています。 これが コード再フォーマット機能です。 ファイル全体のフォーマットを変更してみましょう。 これを行うには、 Ctrl+Alt+L を押します (またはメインメニューから を選択します)。

今コードを見てください - PEP 8 関連の欠点はすべてなくなりました。
フォーマットルールを自分で定義できることに注意してください。 そのためには、 コードスタイル設定 を開き、言語(この場合は Python)を選択して必要な変更を加えます:

ドキュメントコメントの追加
フォーマットは修正されましたが、まだいくつかのストライプが残っています。 避けられない黄色のバルブは、docstring コメントを追加する可能性があることを示しています。

この提案を選択し、追加された特定のパラメーターの docstring コメントを参照してください:

エディター設定の スマートキーの設定: Python ページで、チェックボックス 型コメントをスタブに挿入する を選択する必要があります。

docstring の形式はいくつかあり、ドキュメントコメントは Python 統合ツールページで選択した形式で作成されます。
型ヒント
ドキュメントコメントは、パラメーター、戻り値、ローカル変数の予想される型を定義するために使用できます。 なぜこれらすべてが必要なのでしょうか。 例: demo() メソッドに渡すパラメーターの型を制御したい場合。 そのためには、ドキュメントコメントに対応する情報を追加しましょう (ドキュメントコメントのコード補完に注意してください)。

次にメソッド呼び出しを見ると、間違ったパラメーターが PyCharm のインスペクション タイプチェッカー によって強調表示されているのがわかります:
