Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

内包表記の変数名が一貫していない #13

Open
yaneurao opened this issue May 2, 2020 · 0 comments
Open

内包表記の変数名が一貫していない #13

yaneurao opened this issue May 2, 2020 · 0 comments

Comments

@yaneurao
Copy link

yaneurao commented May 2, 2020

self.outputs = [weakref.ref(y) for y in outputs]

self.outputs = [weakref.ref(output) for output in outputs]

書籍のほうでは、後者になっています。おそらく、前者が直し忘れだと思われます。

それに関連してですが、内包表記の変数名が一貫していないのは感心しません。例えば、

xs = [x.data for x in inputs]

こういうところで、変数名を何故xにするのでしょうか。(inputにしないのは何故なのか。outputsのときだけ変数名をoutputとするのは何故なのか) 一貫性がなくて見ていて気持ち悪いです。

ついでに書籍のほう、p.249

   y = self.outputs[0]()

ここ、weakrefだから"()"をつけていることを書籍のほうのソースコード上にも"#weakref"のようにコメントがついていたほうが親切だと思います。

それから、

   x, = self.inputs

tailing commaは、このコードを読まされる側としては見落としやすく、バグの原因になりやすいため、括弧をつけたほうがよろしいです。
cf.https://www.python.org/dev/peps/pep-0008/#when-to-use-trailing-commas

例)

   (x,) = self.inputs
koki0702 added a commit that referenced this issue Jun 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant