Black是一个代码格式化工具,项目上个月刚迁移到Python组织下,意味着这是一个社区认可的项目。项目诞生不久我就点了Star,到现在已经1w+ star了,但是我一直没写文章推荐过它,因为我并不完全认可它。
了解我的人都知道我是非常愿意接受和尝试新鲜事物的,凡是有益于社区的发展我都会支持。好像到现在,除了类型注解我不喜欢以外,其他的我都觉得Ok,包含非常有争议的海象运算符(PEP 572)。
今天闲来无事给大家聊聊这件事,本文不是纯技术文章,更多的是我的个人观点,请按需阅读。
为什么不喜欢
作者给black的定义是「The Uncompromising Code Formatter」,也就是「不妥协的代码格式化程序」。什么意思呢,一句话: 你要听它的,由black按照它的审美帮助你处理代码格式问题。black的格式化规则是PEP8的超集,也就是除了处理成符合PEP8规范要求的代码,也有black的一些规则。
说到这里让我想到了Golang的gofmt工具: Golang的开发团队制定了统一的官方代码风格,使用官方的gofmt帮助开发者格式化他们的代码到统一的风格。虽然这样降低了自由度,但是极大的节省了开发者对于代码风格的纠结,争论等等,现在写Go代码时我会在编辑器配置保存时自动格式化,我非常喜欢这么用。
Read full article from Python之美
No comments:
Post a Comment