Skip to content

Commit c777f71

Browse files
committed
Merge branch 'master' of github.com:PegasusWang/python-web-guide
2 parents 39b7989 + b3a4006 commit c777f71

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

codingstyle/codingstyle.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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

213212
ORM和数据库相关:
214213

214+
- 数据库这一层的接口考虑下参数过滤,防止不恰当参数可能导致的慢查询。
215215
- 优先使用ORM,相比sql语句更加容易维护,同时避免了sql注入。Sqlalchemy只有你想不到,没有它做不到。
216216
- 获取对象的时候尽量传入需要的字段(数据表列),减少数据传输同时还能避免拼对象的时间消耗,python构建对象比较耗时。
217217
- 注意不要在循环里使用查询语句,合并查询语句。比如不要在for循环中使用一个对象的relation查询(懒加载的时候,每次调用都会查询数据库)

codingtools/codingtools.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
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
日志、异常收集工具

0 commit comments

Comments
 (0)