专栏首页日常学python烂代码&7点建议

烂代码&7点建议

今天跟大家分享如何写好代码的几点建议,希望在写代码的时候能够提供一些帮助。

1、编码规范

每种编程语言、每个框架都有自己的一套编码规范和编码最佳实践方式,例如 PEP8 是 Python 语言的编码规范,作为 Python 开发者,每个人至少要将 PEP8 读上三五遍,熟记于心并运用在项目中。

2、文档注释

程序员最讨厌的两件事情:一,别人的项目没有文档和注释,二,自己的项目要写文档和注释。

经常看到一些项目连起码的 REAMDME 文件都没有,这跟demo没什么区别。如果你的项目没有文档,一旦有新人进来接手也是一脸懵逼,还显得非常业余。所以,一个正经的项目至少要说明项目的是做什么的,用了哪些东西,程序怎么跑起来等等。

简单的代码自然无需写注释,良好的代码自身就是文档和注释,但是如果有较复杂的代码逻辑就必须用注释来加以说明你当时写这段代码是如何思考的,否则隔两个月自己都不知道写的什么烂代码,还在骂这是哪个傻逼写的。所以,我们写注释应该在该写的时候才写,写多了或者写少了都不合适。还有一种情况就是过期的注释,需求变更代码更新后,发现注释还是旧的。

虽然Python是一门优雅简洁的语言,但是同样离不开注释的帮助,毕竟,代码是写给人看的。

3、避免重复代码

软件设计原则里面有个DRP原则,就是在一个项目里面不要写重复的代码,如果同样的逻辑出现超过两次,那么你就考虑将它进行封装成为一个函数或者公有方法。过多重复的代码到后面将导致很多潜在的问题,一处有问题,导致处处都有改动。

4、测试覆盖率

测试驱动开发(TDD)是目前主流的开发模式,但是我们往往因为项目进度或者懒惰,而将单元测试忽略了。没有单元测试的代码就像一座危楼,你永远都不知道里面有哪些坑,因为一旦改了一处代码,你无法预知对整个系统有什么影响,而单元测试是对代码质量的一种保障,测试覆盖率越高,潜在问题越少。

5、安全意识

安全问题没发生前都是小事,一旦发生将是不可估量的大事情,几年前CSDN这么大一个网站竟然还闹出将密码用明文存储的笑话,可见程序员的安全意思有多低,密码至少要做HASH存储并加盐处理。去年时候大疆的程序员将服务器的key上传到github也是典型的安全意思缺乏。什么东西该同步到代码库什么东西不该放要区分清楚。常见的web安全也要清楚,像SQL注入,CSRF、XSS攻击的基本原理以及如何预防等等。

6、设计与架构

如果设计架构错了,代码写的再好也白搭,好比建房子设计错了,房子在漂亮也华而不实,可能隐藏重大安全隐患。合理的设计与架构在于根据业务做合理的取舍,遵循逐步演进原则,切忌无脑跟风参考 BAT 规模量级来设计你的系统,好的系统都是演变过来的。抛开业务谈技术都是耍流氓。

7、学习交流分享

分享你的所得,和比你厉害的人多交流,多看书学习。

本文分享自微信公众号 - 日常学python(daily_learn)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-07-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 请求网页时,怎么给我返回了一段 JavaScript 代码

    如果你想要获取这个网站的源代码的话,必须要先获取一个 cookie,其字段名为:acw_sc__v2,你是不是不相信?爬取网站还需要获取 cookie 值才可以...

    sergiojune
  • 用python来分析一波股票

    Python是一门广泛在各个行业应用的语言,包括计算机,生物学,金融。可以说,python除了不会生孩子,其他啥都行。本文将使用python来玩转股票数据,让你...

    sergiojune
  • 如何让你写的爬虫速度像坐火箭一样快【并发请求】

    话不多说,我们正式开始。在提升爬虫的速度这方面,最基础、最有效、最直接的操作是什么呢?没错,就是并发请求,如果你的爬虫整个逻辑是顺序执行的,请求的时候永远不会并...

    sergiojune
  • Go进阶33:扁平项目代码结构

    一个项目把全部代码文件都放在一个package中,这就是扁平项目代码结构(Flat Application Structure). 代码结构如下是:

    mojocn
  • 好程序需要你写(至少)两遍

      最近这些年,越来越多的人开始转向敏捷开发。各种敏捷开发技术并不新鲜,大多是在80 和 90年代发展形成。但只是在最近这些年,程序员和(更重要的是)一些商业顾...

    JNingWei
  • 代码Review的一些事

    用户1130025
  • 关于 Code Review 的 5 个建议,你一定要看~

    你也许注意到了在上面的Code Reivew中的诸多用处中,我们没有提到可以帮助找到程序的bug和保证代码风格和编码标准。这是因为我们认为:

    DevOps时代
  • 入职半年多,被diss无数次,Guide哥含泪总结了这些原则。

    修改代码之前,一定要思考清楚,不要自以为很简单,结果改了之后出现了大问题。这个在我们写代码的时候也一样,一定要思考清楚之后再写。

    Guide哥
  • 程序员必须遵守的8大准则

    再确认测试代码前,先找别人帮你检查下是否无误。在别人做之前尽量检查出bug并且将其处理好。代码审查最重要规则是对即将提交的代码中查找问题——你需要做的就是确认代...

    顶级程序员
  • 参数校验

    最近开发中遇到一个问题,需要对请求的参数进行校验,包括身份证号、手机号、是否是数字、是否是整型数字、年龄、性别的校验,由于Controller层接受参数类型是J...

    LiosWong

扫码关注云+社区

领取腾讯云代金券