26 | 活都来不及干了,还有空注意代码风格?!
蔡元楠
该思维导图由 AI 生成,仅供参考
你好,我是蔡元楠,是极客时间《大规模数据处理实战》的作者。今天是我第二次受邀来我们专栏分享了,很高兴再次见到你。今天我分享的主题是:活都来不及干了,还有空注意代码风格吗?!
许多来 Google 参观的人,用完洗手间后,都会惊奇而略带羞涩地问:“你们马桶前面的门上,贴着的 Python 编程规范,是用来搞笑的吗?”
这事儿还真不是搞笑,Google 对编码规范的要求极其严格。今天,我们就来聊聊编程规范这件事儿。
对于编程规范(style guide) 的认知,很多人可能只停留在第一阶段:知道编程规范有用,整个公司都要求使用驼峰式命名。而后面的阶段,比如为什么和怎么做,就并不了解了。
但在 Google,对于编程规范的信仰,可能超出很多人的想象,我给你简单介绍几点。
每一个语言都有专门的委员会(Style Committee)制定全公司强制的编程规范,和负责在编程风格争议时的仲裁人(Style Arbiters)。
在每个语言相应的编程规范群里,每天都有大量的讨论和辩论。新达成的共识会被写出“大字报”张贴在厕所里,以至于每个人甚至来访者都能用坐着的时候那零碎的 5 分钟阅读。
每一个代码提交,类似于 Git 里 diff 的概念,都需要至少两次代码评审(code review),一次针对业务逻辑,一次针对可读性(readability review)。所谓的可读性评审,着重在代码风格规范上。只有通过考核的人,才能够成为可读性评审人(readability reviewer)。
有大量的开发自动化工具,确保以上的准则得到强制实施。例如,代码提交前会有 linter 做静态规则检查,不通过是无法提交代码的。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
编程规范对于代码质量和团队协作至关重要。本文介绍了Google对编程规范的严格要求,强调了统一的编程规范能提高开发效率、优化阅读体验、减少错误和提高代码可读性。作者通过举例说明了编程规范对阅读者、编程者和机器的重要性,尤其强调了编程规范对于提高开发效率的重要性。此外,文章还介绍了Python编程规范的重要性,并举例说明了一些常见的编程规范,如命名原则、import规范等。最后,作者强调了编程规范对于提高代码安全性和效率的重要性,以及如何通过编程规范来避免一些常见的错误。整体来说,本文通过介绍Google对编程规范的严格要求和Python编程规范的重要性,强调了编程规范对于提高代码质量和团队协作的重要性。文章还分享了一些自动化代码风格检查的切实方法,如强制代码评审和强制静态或者动态linter,以及如何将编程规范整合进开发流程。通过本文,读者能够全面了解编程规范的重要性,以及如何在实际工作中应用和执行编程规范,从而提高代码质量和团队协作效率。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Python 核心技术与实战》,新⼈⾸单¥59
《Python 核心技术与实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(34)
- 最新
- 精选
- lipan以前在小公司,996, 活都来不及干了,还有空注意代码风格。全局变量满天飞。
作者回复: 哈哈,代码风格一定要注意啊,这个很重要。如果实在任务重,单元测试可以少写一点,但是代码风格千万要规范,否则后面维护起来很难
2019-07-08219 - catshitfive最讨厌两件事儿: 1.码代码的时候写注释 2.接手别人代码没注释2019-07-08488
- 一期一会写代码不写注释。过了半年以上有事再去读代码,自己也不知道是怎么回事的人举个手2019-08-1165
- 小侠龙旋风心中默念三遍:当和 None 比较时候永远使用 is。2019-07-1036
- 一叶知秋个人没经历过,但是听说过: “因代码不规范、使用git push -f,码农枪击4名同事,一人情况危急”2019-07-08122
- 奥特虾不会写代码接手了离职同事留下来的代码,很多变量的命名都是无意义的单词+数字,例如data1、data2这种,看得我十分痛苦2019-07-0819
- Lonely绿豆蛙代码其实归根结底是写给人看的,是程序员之间沟通交流的语言,因此写作风格需要统一规范而不提倡个性化,就像提倡工作中使用普通话而非方言。2020-02-079
- 吴月月鸟https://blog.csdn.net/FU250/article/details/95633286 git+pylint实现python提交代码格式校验2019-07-1215
- Breathlessif not salary: if salary is not None: 怎么怪怪的?2019-09-1223
- Z_yingdict.items()推荐使用吗 它是使用默认的iter还是另外使用临时内存吗2019-08-023
收起评论