最新 PyCharm 基本的な使い方 (3) ------- コーディング(Code)、再構築(Refactor)

目次
6. PyCharmでのコード埋め込み、補足、検査、分析、クリーニングなどの操作
7. PyCharmでの名前変更、署名変更、抽出、導入、インライン(復元)、安全な削除、調整、変換などのリファクタリング操作

六、PyCharmでのコード充填、補足、検査、分析、クリーニングおよびその他の操作

コードメニュー_

        PyCharm のコード メニューのオプションは図 6-1 に示されており、PyCharm での自動コード入力、補足、検査、分析、クリーニング、展開、折りたたみ、形式指定、インデント、最適化インポート、移動などのコーディング操作です。メニューには、コード操作オプションとそのショートカット キーがあります。コンテキスト認識に基づいて、PyCharm は自動的に入力、補足、チェック、分析などを行うことができるため、プログラミング速度とコード品質が向上します。

図 6-1 PyCharm のコード メニュー

オーバーライドメソッド

       オーバーライドメソッド。クラス内の任意の場所にマウスを置き、この項目を選択し、親クラスのメソッドを書き換える (オーバーロードする) と、親クラスのメソッドがサブクラス内に生成され、生成されたメソッド内でコードを記述することができます。

メソッドの実装

       実装。この項目を選択すると、メソッドの機能を実現するためのメソッドの内容を記入できます。

生成

     生成。このオプションはカーソルの位置に応じたポップアップ メニューに対応しており、このメニューにはメソッドのオーバーライド、メソッドの実装、テスト、または著作権などのオプションが統合されています。

コード補完

       コードが完成しました。このオプションを選択した後のポップアップ メニューのオプションにより、コード関連のコンテンツが自動的に補足され、コードの作成速度が向上します。例: メニューの「Basic」は、関連するクラス、メソッド、キーワードの名前を入力するのに役立ちます。

コードを検査する

       コードを確認してください。指定された検査範囲と照らし合わせてチェックし、その範囲内のコードの問題を表示します。インスペクションコードは、「ファイル」→「設定」→「エディタ」→「インスペクション」で提供される関連戦略に従って検査されます。

コードのクリーンアップ

       コードのクリーンアップ。このオプションは指定されたスコープに基づいており、問題のある可能性のあるコードの断片を検出し、即座に自動的に修正します。

コードを分析する

      コードを分析します。このオプションのメニューでオプションを選択して、次のような特定のコード分析を完了します。 名前による検査の実行。名前に基づいて検査 (名詞、通常はファイル) を指定し、この検査 (名詞) を使用して検査 (動詞)指定します 範囲内のコード、つまり、このオプションを選択後、ポップアップウィンドウでチェック(名詞)を確認し、確認後に新しいウィンドウで範囲を指定すると、コードを実行できます確認後のレビュー。

スタックトレースまたはスレッドダンプを分析する

       スタック トレースまたはスレッド ダンプを分析します。デッドロックフリーズなどの例外には、ソース コード内の対応する場所に移動するためのリンクがありません。PyCharm を使用すると、例外によって生成されたスタック トレースをコピーするか、完全なスレッド ダンプをコピーして貼り付けることができます。このオプションを選択すると、[スタック トレース アナライザー] ウィンドウがポップアップ表示され、確認後に対応するソース コードに移動します。   

       Stack Trace (スタックトレース、スタックトレース) は、例外が発生したときにスタックトレースを生成します。このうち、スタック(スタック)はスタックとも呼ばれ、一方の端(スタックの先頭)でのみ挿入・削除が可能な特殊な線形テーブル(メモリ内の動的メモリ領域)です。関数のアドレスやオブジェクトのアドレスなどが格納され、参照アドレスなどが スタックトレース(スタックトレース、スタックトレース)とは、プログラム実行プロセスの動作記録の記述です。

スレッド ダンプ (スレッド ダンプ) には、スレッド、スレッドの実行ステータス、識別および呼び出しスタックが含まれます。スタックには、完全なクラス名と実行されたメソッド、ソース コード      の行数などが含まれますスレッド(英語: thread )とは、オペレーティングシステムが動作のスケジューリングを実行できる最小単位です。これはプロセスに含まれており、プロセス内の実際の操作単位となります。スレッドとは、プロセス内の単一の連続した制御フローを指します。プロセス内で複数のスレッドを同時に実行でき、複数のスレッドが異なるタスクを並行して実行できます。

       デッドロックとは、実行中に複数のプロセスがリソースの奪い合いや通信などによりブロックされ、外部からの力がなければ先に進めなくなる現象を指します。

ライブテンプレートを挿入

       アクティブなテンプレートを挿入します。アクティブなテンプレートに基づいてカーソル位置にコード構成 (固定コード ステートメントなど) を作成するには、このオプションを選択します。このオプションを選択すると、既存のライブ テンプレート (アクティブなテンプレート) が表示されるメニューがポップアップ表示され、特定のテンプレートを選択すると、カーソルの位置によってこのテンプレートで表されるコンテンツが自動的に生成されます。

      このオプションのポップアップ メニューのテンプレートは通常、デフォルトの組み込みテンプレートです。ファイル→設定→エディタ→ライブ テンプレートで独自のニーズに応じてテンプレートを作成することもできます。たとえば、ファイル→設定のポップアップ設定→エディタ→ライブ テンプレート ウィンドウで Python テンプレート グループ (テンプレート グループ) を選択し、ウィンドウの右側にあるプラス記号 (+) をクリックすると、ライブ テンプレートとテンプレート グループがあります (テンプレート グループを作成すると、複数のテンプレートを作成できます)テンプレート グループ名の下に配置します) 2 つのオプション、 [ライブ テンプレート] を選択し、略語(テンプレートの略語、つまりテンプレート名)、説明(テンプレートの説明)、およびテンプレート テキスト(テンプレート テキスト、つまりテンプレート名)を入力します。ウィンドウの下部に (テンプレートの内容) が表示され、確認した後、カスタマイズして新しい Python テンプレートを作成できます。

       ここでのライブ テンプレート オプションは、[ファイル]→[ファイルをテンプレートとして保存]とは概念が異なることに注意してください。

ライブテンプレートとして保存

       アクティブなテンプレートとして保存します。最初にコードの特定のコンテンツを選択し、次にこのオプションを選択してライブ テンプレート (アクティブなテンプレート) を作成します。実際、デフォルトのテンプレートは、ファイル→設定→エディタ→ライブ テンプレートのユーザー テンプレート グループの下に作成されます。

囲む

       ラップアラウンドしてコード構造を作成します。コード行にカーソルを置き、ポップアップ メニューのオプションを選択すると、コード行の前後に対応するコード ステートメント (if ステートメント、while ステートメント、コメントなど) を生成できます。オプション ポップアップ メニューのオプションは、コード行のコンテキストに従って Pycharm によって決定されます。コード行がサラウンドを生成できない場合は、現在のコンテキストに適用できるサラウンド付きバリアントが見つかりません (サラウンドが見つかりません) というプロンプトが表示されます。現在のコンテキストのバリアントに適用されます)。

ラップを解く/削除する

       展開または削除。囲んでいるステートメントから式をすばやく展開または抽出します。例: if 本文の特定の位置にカーソルを置くと、この項目を選択すると、上下の同じレベルのコード文が自動的に選択され、アンラップ/削除を確認するプロンプト ウィンドウがポップアップ表示されます。ウィンドウ内のオプションは、選択したステートメントのコンテキストに従って生成されます)、確認します。 その後、これらの選択したステートメントが自動的に抽出され、if 条件が削除されます。このオプション操作は、if、while、for などの制御構造のステートメントにより適しています。

折りたたみ

       折り畳み。カーソルを特定の位置に置くか、特定の領域を選択し、このオプションのメニューでオプションを選択して、対応するコードを展開したり折りたたんだりします。例: 関連コードを折りたたんで非表示にするには、メニューで [折りたたむ] を選択し、メニューで [展開] を選択するか、関連コードを展開します。

行コメント付きコメント

        行コメント このオプションを選択すると、カーソルが置かれている行の先頭にコメント記号が自動的に追加され、その行がコメント行になります。

ブロックコメント付きコメント

        ブロックコメント、複数行コメント、これらの複数行はコメント行になります。

コードを再フォーマットする

       コードを再フォーマットし (コード フォーマット仕様)、コードを自動的に調整、位置合わせ、標準化することで、コード スペースの間隔がより標準化され、可読性が向上します。

ファイルを再フォーマットする

       ファイル全体のコードをフォーマットできます。ファイル全体のコードを自動的に調整、整列、標準化、クリーンアップなどを行うことができ、ファイルコード全体のスペース間隔がより標準化され、可読性が向上します。このオプションのメニューでは、書式設定のいくつかのオプションも設定できます。たとえば、このオプションのメニューで「インポートの最適化」にチェックを入れると、未使用のインポート文を削除できます。

行の自動インデント

       自動的にインデントします。この項目を選択すると、カーソルが置かれている行または選択したコードが、状況に応じて自動的に左または右にインデントされます。

インポートの最適化

       インポートを最適化します。ファイル内の未使用または重複したインポートを削除したり、インポート ステートメントを整理 (計画) したりすることもできます。

コードを再配置する

       コードを並べ替える 配置ルールに従ってコードを並べ替えることができます。Python はこの操作をサポートしていません。

ステートメントを下に移動

       ステートメントを下に移動します。マウスの位置に対応する行またはコード ブロックが下に移動します。例:クラス内で定義したメソッド名の位置にカーソルがあり、この項目を選択するとメソッド全体が下に移動し、クラス内の以下のメソッドと位置が入れ替わります。

ステートメントを上に移動

       上記の「ステートメントを下に移動」とは反対に、ステートメントを上に移動します。

要素を左に移動,要素を右に移動

       カーソル位置の要素を左に移動し、カーソル位置の要素を右に移動します。

行を下に移動,行を上に移動

       1 行下に移動、1 行上に移動。ステートメントを下に移動、ステートメントを上に移動と似ていますが、移動できるのは 1 行のみです。

著作権を更新する

       著作権を更新します。

7. PyCharm での名前変更、署名の変更、抽出、導入、インライン化 (復元)、安全な削除、調整、変換などのリファクタリング操作

リファクタリングメニュー_

       PyCharm のリファクタリング メニューのオプションを図 7-1 に示します。リファクタリング メニューのオプションは、現在のコンテキストによって決定されます。名前変更、署名の変更、抽出、導入、インライン化、安全な削除、調整などのリファクタリング操作です。 PyCharm での変換では、メニューにリファクタリング操作オプションとそのショートカット キーがあります。リファクタリング、再変更、改善。コードのリファクタリングは通常、新しい機能を作成せずにソース コードを改善することを目的としており、コードを安定して維持しやすくするのに役立ちます。

 図 7-1 PyCharm のリファクタリング メニュー

これをリファクタリングする

       リファクタリング、再変更、改善。コードのリファクタリングは、新しい機能を作成せずにソース コードを改善することです。リファクタリングは、コードを堅牢に保ち、保守しやすくするのに役立ちます。リファクタリングするシンボルまたはコード フラグメントをカーソルで選択 (またはカーソルを合わせて) し、このオプションを選択すると、リファクタリング メニューのオプションがポップアップ表示されます (メニュー オプションは、カーソルが置かれているコンテキストによって決まります)。 :クラスやメソッドの名前変更(Rename、使い方は下記のRenameと同じ)、Change Signature(シグネチャの変更、使い方は下記と同じ)、変数の導入(Recruit Variable)、定数の導入(Introducing Constant) 、など。リファクタリングできない場合は、「選択した要素を使用してリファクタリングを実行できません (選択した要素を使用してリファクタリングを実行できません (オプション))」というメッセージが表示されます。

        オプション ポップアップ メニューには、以下で説明する多くのオプションがあります。

名前の変更

       変数、関数、クラス、またはメソッドの名前を変更するには、このオプションを選択すると、カーソル位置の名前を変更するためのウィンドウがポップアップ表示されます。たとえば、クラスを変更するときは、変更の範囲 (Scope) の選択に注意する人もいます。名前を指定すると、プロジェクト全体をターゲットにすることも、現在のドキュメントをターゲットにすることも選択できます。

署名の変更

       シグネチャを変更するには、プロジェクトの現在のディレクトリにあるファイル内の関数名またはメソッド名を変更するか、そのパラメータを追加、削除、並べ替え、および名前変更し、プロジェクト内のすべてのファイルで同じ呼び出し (継承を含む) レベルを変更します。このディレクトリでも同じ変更が行われます。たとえば、プロジェクトの現在のディレクトリにあるファイル内のクラス AA のメソッド func を変更し、「署名の変更」を選択し、ポップアップ メニューで func メソッドの名前を変更し、func メソッドの名前を変更します。現在のファイルの名前が変更され、AA.func 内の Func であるか継承された呼び出しである限り、プロジェクトの現在のディレクトリ内のすべてのファイルの名前も変更されます。

       したがって、このオプションは特別です。このオプションを使用する場合は、他のファイルへの影響に注意する必要があります。このオプションをリファクタリングに設定すると、最初にプレビュー (プレビュー) して、他のファイルへの変更を確認できます。

抜粋・紹介

       抽出(抜粋)またはインポート、このオプションはカーソルとコンテキストの操作に応じて抽出(抽出)またはインポートを決定します。カーソルが選択されていない場合、または特定の名前が選択されている場合は、デフォルトでインポートされます。カーソルで式を選択すると、その式が抽出されます。例: カーソルで式を選択し、オプション ポップアップ メニュー、式の順に選択します。 式は新しい変数に割り当てられ、この新しい変数は式を参照 (表現) するために使用されます。抽出(抜粋)または導入できない場合は、「選択した要素を使用してリファクタリングを実行できません(選択した要素を使用してリファクタリングを実行できません(オプション))」と表示されます。

       このオプションのポップアップ メニューには、主に、Variable (変数)、Constant (定数)、Field (フィールド、データベースで一般的に使用される変数の参照関数に似た、コンピュータの識別のために提供される)、Parameter (次のようなパラメータ) が含まれます。関数パラメータ)、メソッド(メソッド)、スーパークラス(スーパークラス、親クラス)、その他のオプション。

列をなして

      インライン、復元。インライン リファクタリングは、上記の Extract の逆操作に相当します。これは、メソッドまたは変数の抽出 (Extract) の逆操作です。たとえば、マウスを変数の上に置くか、変数を選択してからこのオプションを選択すると、抽出が復元されます。つまり、抽出前の元の式が復元されます。メソッドのインライン再構築には、「すべての呼び出しをインライン化して宣言を削除」と「すべての呼び出しをインライン化して宣言をポップアップ メニューに保持」の 2 つのオプションがあります。前者はすべての呼び出しをインライン化して宣言 (定義されたメソッド) を削除します。後者は、すべての呼び出しをインライン化して宣言 (定義されたメソッド) を削除します。すべての呼び出しをインライン化し、(このメソッドに定義された) 宣言を保持することです。

ファイルの移動

        現在のファイルをフォルダーに移動します。

ファイルのコピー

         現在のファイルをフォルダーにコピーします。

安全な削除

       削除しても安全です。安全な削除リファクタリングでは、ファイルを安全に削除できます。PyCharm ウィンドウの左側にあるプロジェクト表示バーでファイルを選択し、このオプションを選択すると、ファイルを安全に削除するかどうかを確認します。この操作により、削除時に外部で使用されているかどうかが確認されます。参照がある場合は、 「検出された使用法」ダイアログボックスが開きます。

メンバーを引き上げる

       メンバーを引き上げると、このリファクタリングにより、クラス内のメンバーをスーパークラス (親クラス) に移動できます。変数を移動するには、定義した変数を選択するカーソルが必要です。メソッドを移動するには、定義したメソッドの位置にカーソルを置くだけです。

メンバーを引き下げる

         メンバーのプルダウン。このリファクタリングは、メンバーを親クラスからサブクラスに移動できるメンバーのプルアップの逆です。

ブール値を反転する

       ブール値を反転します。このリファクタリングでは、ブール変数の値とそのすべての使用法を True から False、またはその逆に変換できます。カーソルを変数の位置に置き、このオプションを選択して実現します。例: オリジナル:

def func():
    c1 = True
    return c1

このオプションを選択した後:

def func():
    c1 = False
    return not c1

Python パッケージに変換

        モジュール(モジュール)をパッケージ(ライブラリとも呼ばれます)に変換し、PyCharmウィンドウの左側のプロジェクト項目表示列でモジュール(例:.pyファイル)を選択し、このオプションを選択してパッケージを生成します。

Pythonモジュールに変換

       パッケージをモジュールに変換することは、「Python パッケージに変換」の逆の操作です。PyCharm ウィンドウの左側にあるプロジェクト表示バーでパッケージを選択し、このオプションを選択してモジュールを生成します。

最後に、「いいね」、ブックマーク、フォローをよろしくお願いします。

おすすめ

転載: blog.csdn.net/thefg/article/details/129385113