Pythonで可読性の高いコードを書くには?ベストプラクティスを知りたい!
最近Pythonを学び始めたのですが、コードの可読性を向上させる方法について知りたいです。
例えば、以下のようなコードがあります。
def f(x):
return x * 2
このコードはシンプルですが、関数名や変数名が分かりづらいと感じます。より分かりやすくするための命名規則や書き方のコツがあれば教えてください!
最近Pythonを学び始めたのですが、コードの可読性を向上させる方法について知りたいです。
例えば、以下のようなコードがあります。
def f(x):
return x * 2
このコードはシンプルですが、関数名や変数名が分かりづらいと感じます。より分かりやすくするための命名規則や書き方のコツがあれば教えてください!
関数がどのような結果を返すのかを関数名にすると良いと思います。
def double(x):
return x * 2
すでにご自身で記事にされていますね。
関数名やメソッド名は、動詞の原形(命令形)で始めるのが基本です。
bool値を返す場合は is, has, can などで始めます。
プロパティを返すメソッドは名詞にしたり、「~された値」で過去分詞(受身形)にしたりもします。
書籍「リーダブルコード」とそれに関するQiita記事を読むといいですよ。
可読性を高めるには「相手に理解してもらえるように書く」という作文の基本と同じだと思っています。
可読性を高めようと意識した時点でその第一歩を踏み出したわけですが、まずは読み返して「なんとなく流れ(やりたいこと)が把握できる」ようになっているかいなか。その先に先人たちが経験から生み出した作法を学ぶと(なぜ)そうすべきなのかというのが理解しやすいと思います。
例示している物でいうと関数名 f() はこれだけでは意味が通じないでしょう。
なので、何をするものなのか明示した名称にすべきですが、「〇〇を△△する」と記述すると長すぎて逆に見づらくなることもあります。
なのでスコープを小さくするために、「〇〇」に関するクラス内に「△△」をするメソッドと階層構造にすることで簡潔性を取り戻すこともできるでしょう。
また、変数 x では意味が分からないかもしれませんが、この例のように十分に狭いスコープの中でのあつかいであれば、意味は通じるでしょうからあえて短い変数名を使った方が読みやすいこともあります。
自分のサイトへ誘導するための記事、質問