質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

コーディング規約

コーディング規約とは、コードの書き方についての決め事のことです。 文法のことではなく、そのチームなどの中の約束事としてどのような書き方で行うかを定めるもの。 項目の例として、関数や変数の命名規則、コーディングのスタイル、括弧やインデントの書き方などが挙げられます。

Q&A

解決済

2回答

4236閲覧

(コーディング規約)スペースを複数入れて縦に揃えるのはアンチパターン?

miyahan

総合スコア3095

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

コーディング規約

コーディング規約とは、コードの書き方についての決め事のことです。 文法のことではなく、そのチームなどの中の約束事としてどのような書き方で行うかを定めるもの。 項目の例として、関数や変数の命名規則、コーディングのスタイル、括弧やインデントの書き方などが挙げられます。

0グッド

0クリップ

投稿2016/10/07 04:52

編集2017/05/27 11:58

最近 Python をはじめた初心者です。Python の流儀に従おうと PEP8 で書いたコードをチェックしてみたのですが、下記のように複数のスペースを入れて縦をそろえたところ、E222:multiple spaces after operator と注意が出ました。

python

1BUFFER_FLUSH_INTERVAL = 10 2BUFFER_FLUSH_DELAY = 5 3BUFFER_MAX_SIZE = 1000 4 5MYSQL_ARGS = { 6 'host' : 'localhost', 7 'user' : 'root', 8 'passwd' : '123123', 9 'charset': 'utf8mb4', 10 'db' : 'mydb' 11}

コメントに従い次のようにすると、注意がでなくなります

python

1BUFFER_FLUSH_INTERVAL = 10 2BUFFER_FLUSH_DELAY = 5 3BUFFER_MAX_SIZE = 1000 4 5MYSQL_ARGS = { 6 'host': 'localhost', 7 'user': 'root', 8 'passwd': '123123', 9 'charset': 'utf8mb4', 10 'db': 'mydb' 11}

しかし個人的には前者のほうが見やすいと思ったのですが、Python 的にはあまりやらない(行儀の悪い)表記なのでしょうか?みなさんの考え・どうしているかを教えてください。

ちなみに PEP8 にこだわりはなく、「調べてみたら何となくメジャーっぽいから」程度の選択理由です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

コーディング規約なんてものは、それこそ個人レベルで意見が出るモノですので。
あるコーディング規約(今回はPEP8)に準拠しようと思ったのなら、その規約に準ずるべきかと思います。
それが気に入らなければ、自分に合う他の規約を探すか、その部分のみ独自解釈とした独自のPEP8カスタム規約とすればよいかと。

私個人の意見としては、TABではなくスペースを使うべき、と言うのがまず最初にありまして。
前者のように値を揃えるやり方をTABではなくスペースで行うとすると、仮に変数名に変更があった場合や、その前後に何か入った場合にそろえなおすのが面倒なので、後者の書き方をしますね。

ただ、殆ど修正される事のないマスタデータを定義しているファイル等では前者の方法を使ったりします。
つまり、個人的にはどうでもいい類の話ですね。

投稿2016/10/07 05:03

kunai

総合スコア5405

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyahan

2016/10/07 12:42

コメントありがとうございます。たしかに長い変数を追加してスペースを追加したり、逆に一番長かった変数が居なくなってスペースだらけのコードが残ったりと面倒ではありました。変なこだわりで、せっかくのコーディング規約を無視したり、面倒な作業をするのも何ですので、シングルスペースで行こうと思います。
guest

0

見やすいと言えば見やすいですが、コードの修正や追加を考えると少し怖いですね。
たまに見る書き方ではありますが、その場合ですと変数名の変更や、BUFFER_FLUSH_INTERVALより長い変数名ができた場合に他の全てを修正する羽目になるので、PEP8の指摘のとおりのほうが良いかなぁと思います。

Googleのスタイルガイド等もありますが、Pythonにといては最もポピュラーで一般的なものがPEP8ですので、基本的にはそれに従っておけば間違いありません。

多くのエディタ(とそのプラグイン等)では、コードを自動的にPEP8に準拠するよう修正する機能がありますので、そういったものを使用してあまり深く考えないことをお勧めします。

投稿2016/10/07 06:19

toritoritorina

総合スコア972

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kunai

2016/10/07 07:53

>BUFFER_FLUSH_INTERVALより長い変数名ができた場合・・・ ありますね、コレ。 で、これを回避するために当初つけようと思った変数名を変えて、他の変数と整合性が取れない名前になったりすると本末転倒だったりしますね
miyahan

2016/10/07 12:43

コメントありがとうございます。PEP8 がもっともメジャーとのことで安心しました。せっかくの規約ですので、準拠していきたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問