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を利用しています。 また、コードを綺麗に保ち、保守運用を行いやすくするためにコードフォーマッターな
Code metrics can be produced by static code analysis tools to determine complexity and non-standard practices. Why are code metrics important? Code metrics allow developers to find problematic codebase areas that may need refactoring. In addition, some metrics such as technical debt assist developers in communicating to non-technical audiences why issues with a system are occurring. Open source co
Before I commit my staged Python files, black formats my code and flake8 checks my compliance to PEP8. If everything passes, the commit is made. If not, then I the perform necessary edits and commit again. Less time is spent on code formatting so I can focus more on code logic. Code reviews are fun! They enable me to learn from other’s code while providing an opportunity to teach what I know. Howe
“Any color you like.” Black is the uncompromising Python code formatter. By using it, you agree to cede control over minutiae of hand-formatting. In return, Black gives you speed, determinism, and freedom from pycodestyle nagging about formatting. You will save time and mental energy for more important matters. Blackened code looks the same regardless of the project you're reading. Formatting beco
「ここで改行するほうがキレイで良いと思います」 『いや、私はこちらのほうがキレイ良いと思います』 コードレビューでこういう議論をしたことはありませんか? 大切なことだとは思いますが、生産性にはあまり直結しません。議論を避けるために書き方を決めるほうが良いでしょう (個々の問題について逐次議論するのがエネルギーを無駄にしてしまいます。一度決めて、再利用するようにしたいものです)。 今日はそのために使える black というツールを紹介します (「私はflake8を使ってるから結構です」と思われるかもしれませんが、少し違う話なので読んでみてください)。 blackを使おう Pythonのコードを自動でフォーマットしてくれる black を紹介します。 github.com blackはPythonのコードフォーマッターで、自動的にPythonプログラムの書き方を修正してくれます。 PEP8 と
いやいや何が決まり!だよ、全然決まらねーよっていうタイトルすみません。 キャッチーなタイトルをつける検証をしています。 きっかけ 自動コード整形ツール。弊社では全く導入されていない。 何故か。 知らないからだ。 vimプラグインと手作業での修正という現状だ。 これはどげんかせんといかん。 代表的なautopep8、yapf、blackについて、社内で布教したいので調べてみた。 着目すべきは、 コード整形の精度(ある程度のflake8準拠) 設定のしやすさ(+ あんま設定いじらなくて済むか) 勢い(githubスター数) 各ツールのテストにはautopep8が提示している以下のサンプルコードを使用した。 import math, sys; def example1(): ####This is a long comment. This should be wrapped to fit wit
本記事をお読みになる前に 掲題のとおり、本記事では Python のソースコードにおいてインデントレベル 2 で自動整形する設定について扱っております。 しかしながら、コメントにて @shiracamus 様からご指摘いただいたように、推奨されているインデントレベルは 4 であり、本記事の内容はそれから外れたものとなりますのでご注意ください。 既存ソースコードに合わせたり、プロジェクトの方針として 4 以外を設定する、といったケースにおいて本記事が参考になればと思います。 以下、ご指摘いただいた内容を転記いたします。 既存コードに合わせてインデントを2にするのはいいですが、そうでないならインデントは4が推奨ですね。 参考: PEP8: Pythonコーディングスタイルガイド コードのレイアウト インデント 1レベルインデントするごとに、スペースを4つ使いましょう。 @shiracamus
Python のコードを自動整形するツールでは、autopep8 と YAPF が有名です。 これらを使えば、コードのスタイルについて気を回さないでよくなり、生産性が上がります。 最近、2018 年に登場したばかりの Black が使われるのを見かけるようになりました。 Black は現時点ではベータ版なのが注意点ですが、十分に使えそうです。 ここではデフォルト設定の YAPF と比べつつ、Black についてまとめてみようと思います。 Black の特徴 自動整形ツールは基本的に pycodestyle などのチェッカーでエラーにならないように整形します。 しかし、Black はそれに縛られず、より細部に渡って PEP8 に準拠したスタイルに整形します。 YAPF は設定できる項目が多いのが特徴ですが、Black は一行あたりの文字数だけしか設定を変更できません。 できるだけスタイルを統
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く