Python核心技术与实战
景霄
Facebook资深工程师
立即订阅
13891 人已学习
课程目录
已完结 46 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 从工程的角度深入理解Python
免费
基础篇 (14讲)
01 | 如何逐步突破,成为Python高手?
02 | Jupyter Notebook为什么是现代Python的必学技术?
03 | 列表和元组,到底用哪一个?
04 | 字典、集合,你真的了解吗?
05 | 深入浅出字符串
06 | Python “黑箱”:输入与输出
07 | 修炼基本功:条件与循环
08 | 异常处理:如何提高程序的稳定性?
09 | 不可或缺的自定义函数
10 | 简约不简单的匿名函数
11 | 面向对象(上):从生活中的类比说起
12 | 面向对象(下):如何实现一个搜索引擎?
13 | 搭建积木:Python 模块化
14 | 答疑(一):列表和元组的内部实现是怎样的?
进阶篇 (11讲)
15 | Python对象的比较、拷贝
16 | 值传递,引用传递or其他,Python里参数是如何传递的?
17 | 强大的装饰器
18 | metaclass,是潘多拉魔盒还是阿拉丁神灯?
19 | 深入理解迭代器和生成器
20 | 揭秘 Python 协程
21 | Python并发编程之Futures
22 | 并发编程之Asyncio
23 | 你真的懂Python GIL(全局解释器锁)吗?
24 | 带你解析 Python 垃圾回收机制
25 | 答疑(二):GIL与多线程是什么关系呢?
规范篇 (7讲)
26 | 活都来不及干了,还有空注意代码风格?!
27 | 学会合理分解代码,提高代码可读性
28 | 如何合理利用assert?
29 | 巧用上下文管理器和With语句精简代码
30 | 真的有必要写单元测试吗?
31 | pdb & cProfile:调试和性能分析的法宝
32 | 答疑(三):如何选择合适的异常处理方式?
量化交易实战篇 (8讲)
33 | 带你初探量化世界
免费
34 | RESTful & Socket: 搭建交易执行层核心
35 | RESTful & Socket: 行情数据对接和抓取
36 | Pandas & Numpy: 策略与回测系统
免费
37 | Kafka & ZMQ:自动化交易流水线
38 | MySQL:日志和数据存储系统
39 | Django:搭建监控平台
40 | 总结:Python中的数据结构与算法全景
技术见闻与分享 (4讲)
41 | 硅谷一线互联网公司的工作体验
42 | 细数技术研发的注意事项
加餐 | 带你上手SWIG:一份清晰好用的SWIG编程实践指南
43 | Q&A:聊一聊职业发展和选择
结束语 (1讲)
结束语 | 技术之外的几点成长建议
Python核心技术与实战
登录|注册

26 | 活都来不及干了,还有空注意代码风格?!

蔡元楠 2019-07-08
你好,我是蔡元楠,是极客时间《大规模数据处理实战》的作者。今天是我第二次受邀来我们专栏分享了,很高兴再次见到你。今天我分享的主题是:活都来不及干了,还有空注意代码风格吗?!
许多来 Google 参观的人,用完洗手间后,都会惊奇而略带羞涩地问:“你们马桶前面的门上,贴着的 Python 编程规范,是用来搞笑的吗?”
这事儿还真不是搞笑,Google 对编码规范的要求极其严格。今天,我们就来聊聊编程规范这件事儿。
对于编程规范(style guide) 的认知,很多人可能只停留在第一阶段:知道编程规范有用,整个公司都要求使用驼峰式命名。而后面的阶段,比如为什么和怎么做,就并不了解了。
但在 Google,对于编程规范的信仰,可能超出很多人的想象,我给你简单介绍几点。
每一个语言都有专门的委员会(Style Committee)制定全公司强制的编程规范,和负责在编程风格争议时的仲裁人(Style Arbiters)。
在每个语言相应的编程规范群里,每天都有大量的讨论和辩论。新达成的共识会被写出“大字报”张贴在厕所里,以至于每个人甚至来访者都能用坐着的时候那零碎的 5 分钟阅读。
每一个代码提交,类似于 Git 里 diff 的概念,都需要至少两次代码评审(code review),一次针对业务逻辑,一次针对可读性(readability review)。所谓的可读性评审,着重在代码风格规范上。只有通过考核的人,才能够成为可读性评审人(readability reviewer)。
有大量的开发自动化工具,确保以上的准则得到强制实施。例如,代码提交前会有 linter 做静态规则检查,不通过是无法提交代码的。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Python核心技术与实战》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(22)

  • catshitfive
    最讨厌两件事儿:

    1.码代码的时候写注释 2.接手别人代码没注释
    2019-07-08
    22
  • lipan
    以前在小公司,996, 活都来不及干了,还有空注意代码风格。全局变量满天飞。

    作者回复: 哈哈,代码风格一定要注意啊,这个很重要。如果实在任务重,单元测试可以少写一点,但是代码风格千万要规范,否则后面维护起来很难

    2019-07-08
    1
    9
  • 一叶知秋
    个人没经历过,但是听说过: “因代码不规范、使用git push -f,码农枪击4名同事,一人情况危急”
    2019-07-08
    6
  • 奥特虾不会写代码
    接手了离职同事留下来的代码,很多变量的命名都是无意义的单词+数字,例如data1、data2这种,看得我十分痛苦
    2019-07-08
    6
  • 一期一会
    写代码不写注释。过了半年以上有事再去读代码,自己也不知道是怎么回事的人举个手
    2019-08-11
    4
  • 小侠龙旋风
    心中默念三遍:当和 None 比较时候永远使用 is。
    2019-07-10
    4
  • Breathless
    if not salary:
     if salary is not None:
    怎么怪怪的?
    2019-09-12
    2
  • 温若
    # 错误示例
    result = [(x, y) for x in range(10) for y in range(5) if x * y > 10]
    请问一下景老师,这个是错误示例么?
    在基础篇的07|条件与循环里,不是建议[(xx, yy) for xx in x for yy in y if xx != yy]这样写么?
    这两个区别在哪?还是我理解的不对?
    2019-08-19
    1
    1
  • Z_ying
    dict.items()推荐使用吗 它是使用默认的iter还是另外使用临时内存吗
    2019-08-02
    1
  • 三毛大叔
    评审者是专门评审员吗,一天到晚评审,不写代码?
    2019-07-08
    1
  • Paul Shan
    代码风格是开发人员交流的工具,是对代码阅读者,代码开发者和机器的权衡。
    2019-11-22
  • Leon📷
    我是遇到过工作十年的人制定的probuf协议文件像万国博览会,java风格,C风格,微软匈牙利命名法,生成的代码的结构体有成员产量是ooxxxxdddd,像甜甜圈和万花筒,测试环境直接把自己的英文名打进日志,并发编程直接一把锁锁住七八个map,那代码,分分钟灼烧着我的视网膜
    2019-11-10
  • 自由民
    因为是自学,没机会跟别人合作。以前学的C/C++,在网上看到一篇文章,好像叫"XX关于c++学习的100个观点"之类的,很震撼,就照着做了。因为习惯了,后来看Java,HTML,JavaScript,python等语言的代码都不太习惯。
    2019-10-19
  • 贺宇
    原来在java的时候比较都用=,后来被主管骂了一顿后就再也不用=做比较了,全部用Objects.equals
    2019-07-17
  • 大王叫我来巡山
    收益匪浅,感觉过去写的代码只有自己能看懂
    2019-07-16
  • 吴月月鸟
    https://blog.csdn.net/FU250/article/details/95633286 git+pylint实现python提交代码格式校验
    2019-07-12
  • Ben
    要把C++和C#的代码规范统一...
    2019-07-11
  • 蒙开强
    老师,你好,你那个地址http://google.github.io/styleguide/pyguide.html有问题,是https://google.github.io/styleguide/pyguide.html,这种规范有插件么。
    2019-07-09
  • code2
    在代码中对数据进行检测并直接做出处理与抛出异常,在异常处理代码中进行处理,哪一种风格更有效,更优雅?
    2019-07-09
  • 雲至
    这个办法好 可以用到很多方面
    2019-07-08
收起评论
22
返回
顶部