路飞学成书写规范的总结

命名

项目/文件/函数 -> 小写+下划线

类 驼峰式

路由

将每个功能的路由进行分割,

或者做上注释

类和方法的注释

每个类都要注释是干什么的

每个方法也要进行注释标明处理逻辑

特殊的异常需要捕获

user=models.UserInfo.objects.get(username=username,password=pwd)
from django.core.exceptions import ObjectDoesNotExist
#获取值异常
except ObjectDoesNotExist as e:
ret.code=1003
ret.error = '用户名或者密码错误' except IndexError as e :
#获取索引异常
username=request.data.get('username')
pass

不用admin就直接注释。

因为在Django启动的时候会加载admin

模块导入

  • 先放置内置模块,再放自己写的模块进行区分
  • 短的往上放
import uuid
from rest_framework.views import APIView
from rest_framework.response import Response
from django.core.exceptions import ObjectDoesNotExist from api import models
from utils.response import BaseResponse

取一条用get

取单挑数据尽量用get

简单逻辑先往上放

简单的逻辑往上放,

复杂的逻辑往下放

封装数据对象

在路飞学成里封装响应对象

延伸出来的是,传输数据尽量用类进行封装

接口如何编写

业务:

返回所有 http://127.0.0.1:8000/api/v2/course/1/

多个接口 http://127.0.0.1:8000/api/v2/course/1/

    http://127.0.0.1:8000/api/v2/section/?course=1

    http://127.0.0.1:8000/api/v2/chapter/?course=1

根据业务逻辑和上司的要求,在api返回接口的时候,可以全部返回

也可以一个model一个model的返回

事务

在操数据库的时候,可能需要对两张表以上的数据进行修改(有关联)

例如 文章评论数,和评论内容那么需要用事务在解决

减少代码层级

增加代码的可读性

最新文章

  1. chartControl绑定数据源
  2. 通信原理实践(一)——音频信号处理
  3. 动态生成dropdownlist
  4. mysql把查询的结果格式成日期
  5. DBN(深度信念网络)
  6. Android Service 服务
  7. http to https automatic--weblogic/jboss/tomcat--reference
  8. 计划任务可以过UAC?直接添加到计划任务(未经测试)
  9. r语言之条件、循环语句
  10. scrapy代理的设置
  11. dot.js模板实现分离式
  12. python numpy模块使用笔记(更新)
  13. 下划线“_”在oracle中不是单纯的表示下划线的意思,而是表示匹配单一任何字符!
  14. PHP数组大全
  15. 02: djangorestframework使用
  16. spring整合mybatis、hibernate、logback配置
  17. Objective-C 与JAVA的SHA1/HmacSHA1加密算法实现
  18. 升级ndk后Android studio的build错误
  19. 关于Class中的Signature属性
  20. 说说http协议中的编码和解码

热门文章

  1. 转: 理解UDDI (from IBM Dev)
  2. windows 10 超级优化提速 附系统服务列表纯净
  3. 构建Spring Boot程序有用的文章
  4. python可hash 不可hash类型
  5. left menu
  6. 使用C++11封装线程池ThreadPool
  7. vue-router 嵌套路由
  8. Android--Handler的用法:在子线程中更新界面
  9. es6/es7 对象数组的合并拷贝
  10. org.hibernate.type.SerializationException: could not deserialize 反序列化失败