把Ctrl+Shift+Enter抠掉!
一 彳亍 一 彳亍 ————-
代码测试反思
这个问题出现在用RStudio测试分城市代码的时候,因为使用了Ctrl+Shift+Enter一键运行被旁边的大佬叫停:
当时运行的我:因为手动一行一行运行,很容易看不到 console 里的报错,但是用这三个键的组合可以准确地在错误的地方停下来;
大佬:在进行代码测试的时候(尤其是代码建立阶段),不能 Ctrl+Shift+Enter,因为比如在 For Loop 里,没办法看到到底是哪一行(哪个城市)出了错误,而且在不熟悉代码的时候,很容易出现误改重要参数的情况;
设想中的最佳情况应该是:
- 代码端:
- 建立容错机制,关键代码的参数分开存储(如 config.yml)
- 为专门的场景撰写专门的测试代码(在时间容许的情况下
- 测试时:
- 一 彳亍 一 彳亍,慢慢运行,留意每行做的事,以及console的输出
- 不要整段运行loop,一 彳亍 一 彳亍
- (等到测试完成,要保证代码可以ctrl + shift + enter一键运行)
- 沟通时:
- 设计读入/写出的部分重点交代
- 报错时截全上下文及 traceback
- 不要在别人吼你的时候对吼(不然旁边的人会笑你们),问问他们的建议和这么做的原因
今天学习到的内容
测试时多探路
- 容器测试:
- 多用户是否可以同时运行
- 多用户是否都有文件的读取/保存/修改/上传权限
- 当一个用户改动文件时另一个用户是否会受到影响
- 多用户不同配置:根据sys.info[“user”]读取yml中的对应配置
- 在设计模型时需要考虑用户可共用的部分,以及分开跑的部分
- 当你的容器有部分需要手动更新的脚本,记得写容器维保记录
- 模型测试:
- 代码测试部分如上
- 代码修改记得兼容老旧版本:比如新数据里面没有老数据某个feature,在feature_process_workflow里可以pass,而不是直接删掉
- 测试结果勤保存:可以用在线文档协作,同时让老板看到你们在动XD
Git使用best practice
- git checkout -b new_branch_name