File tree Expand file tree Collapse file tree 2 files changed +2
-2
lines changed
Expand file tree Collapse file tree 2 files changed +2
-2
lines changed Original file line number Diff line number Diff line change @@ -199,7 +199,6 @@ python代码坏味道(新手经常犯的错误)
199199- 注意不要轻易在非 __init__ 中给类添加属性。
200200- 尝试使用CRC(clas-responsibility-collaboration):类-职责-交互卡片设计类。
201201
202-
203202测试相关:
204203
205204- 没有单元测试,不知道怎么写测试(print大法好?)。没有一点专业精神,或许和python大部分都是自学的业余选手有关,哈哈当然我也是。没有单元测试对于大项目和动态语言项目来说就是灾难,不敢重构,改bug后无法确认是否引入新bug。对于关键代码一定要保证必要的单元测试。对于喜欢造轮子的,也要保证单元测试。有点违反直觉的是,单元测试长期来看并不会降低工作效率,因为编写代码往往只是工作中一个小环节,很多时间是在调bug,而且没有单元测试几乎不敢重构不好的代码,为代码腐化埋下祸根。但试图编写大量测试会因为工作量大而望而却步,所以可以针对关键和易出错的地方编写必要的单元测试,否则以后修复bug没有测试就是灾难。
@@ -212,6 +211,7 @@ python代码坏味道(新手经常犯的错误)
212211
213212ORM和数据库相关:
214213
214+ - 数据库这一层的接口考虑下参数过滤,防止不恰当参数可能导致的慢查询。
215215- 优先使用ORM,相比sql语句更加容易维护,同时避免了sql注入。Sqlalchemy只有你想不到,没有它做不到。
216216- 获取对象的时候尽量传入需要的字段(数据表列),减少数据传输同时还能避免拼对象的时间消耗,python构建对象比较耗时。
217217- 注意不要在循环里使用查询语句,合并查询语句。比如不要在for循环中使用一个对象的relation查询(懒加载的时候,每次调用都会查询数据库)
Original file line number Diff line number Diff line change 5959- google doc
6060- gitbook + markdown
6161- sphinx + readthedoc (代码即文档),python 项目很多在用这个生成文档
62- - swagger
62+ - swagger: 适合写 restful 文档
6363- jupyter notebook,可以做笔记或者代码演示或者ppt,支持rst,md等格式,搞数据科学的人用得比较多,配合 RISE (https://github.com/damianavila/RISE) 可以做 slideshow,非常好的工具
6464
6565日志、异常收集工具
You can’t perform that action at this time.
0 commit comments