工作经验总结——开发与协作的坑(1)

文章背景:

在公司工作时与后端开发同事合作开发了算法自动化测试Web平台,具体有什么些功能,工作原因需要保密。大部分基础服务都是PHP语言开发的,算法测试的主要工作楼主用的Python语言Django+Celery+Tensorflow+OpenCV。

~~~~~~~~~该篇文章没有干货,请勿食用~~~~~~~~~

1、耗时长的接口(不确定响应时长)应该用异步任务执行,否则体验会很差,当然你也会被架构师喷得体无完肤,也有可能遭到前端的唾弃。比如:下载/上传批量文件、执行算法脚本、批量对N多数量进行绑定或向数据库写入大批量文件;

2、所有的接口参数都应该做验证,不能因为工期紧就不重视,虽然我们编码时都是先写主要的功能业务逻辑,但是主动做与测试测出bug完全不一样,这完全反映出你的代码水平,稍微懂点开发的测试就可以唾弃你,你的绩效就是这样没的;

3、本地开发环境和SIT、UAT环境一定要区分开,使用同一套配置进行管理,切换环境尽可能简单,越简单越好,否则管理的地方太多,某个地方忘记修改,产生一堆问题,感觉水平好差劲哦;

4、项目部署和资源申请一定要提早进行;资源申请不仅要考虑当前的情况,而且还要考虑未来半年一年的扩展性,申请中一定要写详细需要什么样的环境,什么机器配置,是否需要CUDA,是否需要GPU等等;

5、如果接口没有返回你想要得到的结果,不用质疑,一定代码有问题没得跑了;

6、任何人都是不值得信任的(工作完成OR未完成),所有的一定要自己亲自去尝试,去验证;

7、问题要尽早暴露,越早越好;

8、Redis或者其他服务账号密码会因为含有特殊字符而连接错误——此时读取变量和参数时,可使用parse.quote(password) ,如果配置文件是.ini结果 ,可用configparser.RawConfigParser()

import configparser


# 读取ini文件
cf = configparser.RawConfigParser()
cf.read(UWSGI_INI)
value = cf.get('uwsgi', 'password')
password = parse.quote(value)

9、Django与Cerlery共用一个日志器时,需要在Cerlery的tasks.py中重新加载一下日志器:

dictConfig(LOGGING)  # 重新加载日志配置文件
logger = logging.getLogger('django')  # 获取日志器

10、等待补充中....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值