Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
はじめに Gunosy Tech Lab - Media ML のsuchidaです。 最近はPythonの型アノテーションがないとあたふたする人生です。 こちらの記事は Gunosy Advent Calendar 2021の3日目の記事です。 前回の記事はid:skozawa さんの施策の優先順位付けのために分析Dayを実施しましたでした。 さて皆さん、Pythonを利用する際に静的解析ツールを利用していますか?これは、コードを綺麗に保ち、保守運用を行いやすくするために非常に重要なツールです。 本記事では、Pythonコードフォーマッターなどの静的解析ツールとその設定ファイルの管理方法について簡単に紹介します。 静的解析ツールの導入 チーム内では主に、アルゴリズムの開発・運用にPythonを利用しています。 また、コードを綺麗に保ち、保守運用を行いやすくするためにコードフォーマッターな
目次 概要 動作環境 紹介するPythonライブラリ flake8 pyformat isort mypy bpython ipdb 最後に 概要 仕事でよくつかうパッケージからプライベートで開発するときに、必ずインストールしているパッケージをまとめて紹介してみた。 データサイエンス系の人はJupyterを使うと思うのでWeb開発向きだと思います。 DjangoなどWebフレームワークを使うときは便利な専用のパッケージもありますが本記事には記載してないです。 パッケージ管理はPipenvやpoetryなど有名なものがあるがこの記事では書いてないです。 動作環境 筆者の動作環境。 環境に依存したパッケージはないはずだが念の為。 MacOS Python 3.8.0 anyenv 1.1.1 pyenv 1.2.15-1-g49bf5952 紹介するPythonパッケージ flake8
tl;dr; PythonのLinterであるflake8はpep8に従っていろいろと教えてくれますが、 マニュアルで行うとなかなかに面倒な修正案を提示します。 近頃Golangの自動フォーマッタに慣れてしまった自分としては、 もう勝手にやってくれよ、とちょいちょい思ってました。 非同期にLinterを実行するVimプラグインとして有名なALEには、 エラー箇所を自動で修正するALEFixコマンドがあり、前々からやってみようかなと思っていたので、 この機会にALEでPythonコードのLintと自動整形をやらせてみたいと思います。 前提 NeoVim 私は素のVimではなくNeoVim使いなのでこっちを使った方法になります。 素のVimとはPythonのパス解決の仕方が異なるのでご注意ください。 NVIM v0.3.1 あとALEを使うのでALEのインストールはもちろん必要です。公式は丁寧
直すのが大変そうな時も pyformat や isort など補助してくれそうなツールがある。 2015-08-11 追記 (既に修正済み): PEP 257 周りの説明で事実の誤認があった。 hacking だけでは PEP 257 のチェックはしないようだ。 flake8-pep257 をインストールすることでチェックできる。 エディタの補助 可能な限りはやく気がつくため、エディタのプラグイン等で自動チェックできるなら、した方がいい。 以下は代表的なエディタでの flake8 でチェックするプラグイン。 これらの機能を取り込んだ IDE 化するプラグインもあるので、好きな方を使おう。 Vim ... vim-flake8 Emacs ... flymakes-python-pyflakes Sublime Text ... Python Flake8 Lint Atom ... lin
はじめに 開発部の tasaki です。 6 月の記事(「Pythonのパッケージングのベストプラクティスについて考える2018」)では setuptools, pip, venv を使ったパッケージングのフローについて考えました。 techblog.asahi-net.co.jp 今回はモダンな開発用ツールチェーンを持つ他の言語(具体的には JavaScript (Node.js), Go, Rust あたりを意識)と似たような開発フローを Python において構築するにはどうすればよいかということを考えていきます。 はじめに 対象バージョン 備考 TL;DR (結論) pip と virtualenv の統合 (Pipenv) 概要 使い方 インストール Pipenv プロジェクトの新規作成 setup.py との併用 静的な型の検査 (mypy) 概要 設定例 使い方 Lintin
はじめに コードは理解しやすくなければいけない。 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) 作者:Dustin Boswell,Trevor Foucher発売日: 2012/06/23メディア: 単行本(ソフトカバー) コードの保守性や可読性を高めるために我々エンジニアはどんなことができるでしょうか? テストを書く 推奨されているコードスタイルに準拠する コメントを書く DRY原則に則る 変更・拡張しやすく設計する ログを出力する・監視する 適切な命名をする etc... まだまだ意識すべきことはあると思いますが、上記の項目はエンジニアであれば恐らく一度は目にしたことがあるような内容であり、暗黙的に了承されたいルールです。 しかし、これらはただの心構えであり、体現するために実際には以下のような項目に落とし込む必要
ぼくは生産性の低いプログラマです。あまりにも生産性が低くて困ってしまったので、一体何が生産性を下げているのか調査してみました。すると、コードを書いている時間の半分を、なんとコードの整形に費やしていることがわかったのです! 一行が80文字を超えたら、改行を入れなければいない。逆にすべてが一行に収まるようになったら、途中の改行とインデントを削除して一行に戻さなければいけない。Q&Aサイトからコピペしたコードは、プロジェクトのコーディング規約に合わせてスペースを入れたり削除したりしなければならない。import文は辞書順に並べなければならない・・・。こんな整形を繰り返してると、あっという間に時間が過ぎてしまいます。 EclipseのPyDevやPyCharmのような高機能なIDEを使ってる人にはない悩みかもしれませんが、テキストエディタで開発してるとほんとこういう作業が多い。そこで、OSSのツー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く