私の記事の「最強のPython開発環境 PyCharmのすゝめ」が、「いいね」が200超えましたので、続きを書こうかと思います。
とはいえ、便利な機能はあらかた紹介済みですので、私なりのPyCharmの運用ルールを書いてみたいと思います。
これはあくまで、私個人で実践している自分ルールですので、「こんな風にやってるんだ」くらいに読んでください。
静的解析のインスペクション項目は全てON
PyCharmはリアルタイムでコードを静的解析して、コードのダメな部分を注意してくれます。
しかし、実際にコードを書いていると「ちょっと神経質かな〜?」と思うでしょう。
インスペクション項目(検査項目)は、1つ1つ細かくON/OFFができるので、自分流にカスタマイズしていくのが普通だと思います。
ちなみに、私のPyCharmはインスペクション項目は全てONです。
そのうえ、インスペクションがグリーン(警告が0の状態)になるまでコミットしないという縛りも課しています。
とはいえ、ある程度の規模になってくるとオールグリーンはほぼ不可能です。
どうしても警告が取れない部分は、コメントによって最小範囲でインスペクションを無効にしています。
大事な事は、無視する警告はあれどすべて目視チェックを通してから無効にするという事です。
自分の預かり知らない警告を握りつぶすと静的解析の意味がなくなりますので。
すべてのコードを一括でインスペクト(検査)したい場合は、メニュー「Code」→「Inspect Code...」を選択して一括検査することができます。
コメントは書かずともタイプヒントだけは書く
個人的な話ですが、私はコードにコメントはあまり書きません。
そもそもコメントが必要なコードを書いている時点で設計がおかしいのです。適切な命名、機能分割、簡潔なコードであればコメントはほぼ必要ないはずで、そういうコードを目指しています(書けるとは言っていない)。
コメントよりも、タイプヒントをできるだけ書くように心がけています。
紹介記事でも書きましたが、タイプヒントと静的解析によってPythonが動的型付け言語と静的型付け言語の美味しいとこ取りができるのです。
静的解析を通していないPythonコードは安全装置を外した銃みたいなものです、安全装置を外したままの銃を弄っていれば、いつか自分の足を撃ちぬきます。
7年ほどPythonコード書いている私でも毎日自分の足をぶち抜いています1、安全装置を外したエディタでバグを出さずにコードを書ける自信がありません。
逆にいえば安全装置のついたエディタを選ぶだけで、型の制約のない強力な表現力、柔軟性、お手軽さを兼ね備えた最強言語になります。
単体テストライブラリ「py.test」を使う
単体テストのライブラリはpy.testを使っています。
テストの記述が簡単だし、テンポラリディレクトリの扱いが楽なので非常に重宝しています。
PyCharmでpy.testを使うには、標準のテストランナーを変更する必要があります、「Settings...」→「Python Integrated tools」の「Default test runner」の項目を設定します。
テスト関数を右クリックで、そのテスト関数のみをテストできるようになるので便利です。
Jupyter Notebookを積極的に使う
最近、コードは専らJupyter Notebookで書いています。
結果を確認しながらコードを書けるのも便利ですが、コードを書いた後にマークダウンで注釈を書けばマニュアルにもなるし、単体テストにもなる素晴らしいツールです。
PyCharmとJupyterの連携機能を使うと、Jupyter上でPyCharmの補完機能が使えるので最高に快適です。
Jupyterは便利なんですが、from IPython.display import display
とか定型文を入力するの面倒ですよね。
私の場合は「Extranal Tools」を使って定型文が入力済みのノートブックを生成しているので、作業がめちゃくちゃ楽です。
やり方は「PythonでJupyterノートブック「.ipynb」を生成する」に書いてありますので、そちらをどうぞ。
また、Jupyterの有効な使い方はJupyter Notebookを単体テストやマニュアル作成ツールとして使うにも書きましたので、そちらも参考にしてください。
TODOを忘れない
非常に当たり前の事ですが、「あとで実装する」と書いたTODOコメントを忘れてはいけません。
でも忘れちゃいますよね、にんげんだもの。
メニューの「View」→「Tool Windows」→「TODO Alt+F6」でソースに書いたTODOコメントの一覧を集約して表示してくれます。
JenkinsでTODO一覧を出してくれる機能がありますが、こっちはローカル環境で一覧を出してくれます。
ありがてぇ、ありがてぇ。
コードの検索はShift
x 2
Shift
を2回押すと出てくる検索ウインドウが強力すぎて、他の検索機能はあまり使いません。
これだけで、ファイル、クラス、メソッド、メンバ、変数まで全部これだけで検索できます。
あと使うのはCtrl + Shift + F
のグレップ検索くらいですね、この2つだけでだいだい事足ります。
よく使うショートカット
PyCharmのUIが洗練されすぎてて、使っているショートカットは多くありません。
Ctrl + W
&Ctrl + Shift + W
が意外と便利。
ショートカット | 機能 |
---|---|
Shift x 2 | 検索 |
Ctrl + Shift + F | グレップ検索 |
Ctrl + / | コメント/アンコメント |
Ctrl + Q | オブジェクトのヘルプ表示 |
Ctrl + X | 行の削除(非選択状態) |
Ctrl + G | 指定行へ移動 |
Ctrl + W | 選択拡大 |
Ctrl + Shift + W | 選択縮小 |
Ctrl + B | 定義元へジャンプ |
Shift + Alt + ↑↓ | 行の上下移動 |
Shift+ Enter | どこでも改行 |
更に詳しいショートカットの記事をがありました、私は別に忙しくないので覚えれるやつだけ使ってます。
忙しい人のためのIntelliJ IDEAショートカット集(´-`)
まとめ
私なりのPyCharmの運用ルールを書きました。
PyCharmは機能が非常に多いので人それぞれ使い方に個性が出るんじゃないかなと思います、他の人のPyCharmまたはPythonコードの運用ルールも知りたいですねー。
みんなの運用ルール記事を読みたいです!
Qiitaの編集画面
関係ない話ですが、Qiitaの記事編集画面で編集する度にプレビューが先頭に戻ってしまうのは、私だけなんでしょうか?
すっごい使いにくいです。
-
実際は自分の脚をぶち抜く前に、PyCharmが警告してくれています ↩