我经常在开源或“专业”python 代码中看到评论——比如 webapp2 或 webob,它们看起来很间隔。评论似乎超过了代码。我注意到个别开发人员也在他们自己的应用程序中这样做。大间距,大量注释,然后每隔一段时间就写几行代码。
我想我喜欢这种风格,它确实感觉更有条理。现在我是 python 中的大型项目,我想知道是否应该像我看到其他人那样组织一个包含代码和注释的大型项目。我认为它可能会使它更具可读性和可维护性,也可能使我成为一个更好的编码器——因为事情会更清晰。
只是想:这个问题在代码审查上更好吗?听就是服从
目前我只是这样评论,例如:
#U - Idempotent. b-atching requests
# which can be PUT, DELETE or GET.
#@control.access.collector_or_owner
def patch(s,*a,**k):
s.resolve(*a,**k)
for mod in s.requested_modifications:
method = mod.get('method') or 'PUT'
point = s.current_point+mod.get('point') or ''
body = mod.get('body') or ''
s.say('Will execute %s on %s for %s\n' % (method,point,body))
# create the in-app request
mod_request = webapp2.Request.blank(point)
mod_request.body = str(body)
mod_request.method = method
mod_request.app = s.app
# then find the handler and report
execute_tuple = s.app.router.match(mod_request)
mod_request.route,mod_request.route_args,mod_request.route_kwargs = execute_tuple
handler = mod_request.route.handler
if handler not in s.app.router.handlers:
s.app.router.handlers[handler] = handler = webapp2.import_string(handler)
else:
handler = s.app.router.handlers[handler]
s.say('Will execute %s on %s for %s via %s\n' % (method,point,body,execute_tuple))
# then execute
in_app_response = webapp2.Response()
handler = handler(mod_request,in_app_response)
handler.dispatch()
s.say('Response is %s\n' % (in_app_response))
它只关注“要做什么”,但没有解释其他任何事情。我确信有更好的方法,但我不只是想出我自己更好的方法,我想要圣人的智慧。
我已经阅读了Style Guide PEP——它很有帮助,但是对于大型复杂的 python 项目来说,提炼评论作者的智慧的东西比“写英语时,Strunk and White apply”更详细一点是必需的.