申し訳ありませんが、Python のせいにするつもりはありません。これは、私が信じていることが正しいかどうかの単なる反省です。私は 2 年間 Python の信奉者であり、小さなアプリだけを作成し、どこにいても Python を称賛してきました。私は最近、Django のコードを読む機会があり、Python が本当に「可読性を重視する」哲学に従っているかどうか疑問に思い始めました。例えば、
class A:
a = 10
b = "Madhu"
def somemethod(self, arg1):
self.c = 20.22
d = "some local variable"
# do something
....
...
def somemethod2 (self, arg2):
self.c = "Changed the variable"
# do something 2
...
インスタンス変数が使用時に作成される状況 (つまりself.c
、上記のスニペット) では、コードの流れを追跡するのは困難です。この方法で書かれた大量のコードを読んでも、どのインスタンス変数が定義されているかを確認することはできません。メソッドが 6 ~ 8 個しかなく、コードが 100 ~ 150 行以下のクラスを読むときでさえ、非常にイライラします。
他のほとんどの言語は C++/Java スタイルと同じアプローチに従っているため、このコードの私の読み方が C++/Java スタイルによって歪められているかどうかを知りたいと思っています。このコードをより流暢に読む Pythonic の方法はありますか? Python 開発者が「読みやすさ」を念頭に置いてこの戦略を採用した理由は何ですか?