为什么要遵守规范
开发流程
- 确定需求,避免写完发现不符合要求,个人项目更是写完后就没用过,最后当做学习项目
- 定义项目结构,写好开发文档,开发步骤,否则写到一半发现问题卡住
- 选好技术,准备要用到的技术和库,一定要时确保这个技术或库你熟悉他的特征,免得开发到一半不符合项目要求
错误捕捉
一定要指定错误类型,否则
try:
with open("aa.txt", encoding="uf8") as f:
data = f.read()
except Exception:
# 文件不存在时
...
你以为是文件不存在,实际上是参数错误
为什么要用日志
控制台输出容易丢失,但日志文件可不会
这里讲个案例,我在写我的世界模组时曾使用print输出,但是运行时看不到模组的输出,
以为是代码没执行到这里,排查了很久才发现是这里不显示控制台的输出
不要全部靠AI
- 陌生的模块先去网上搜教程,再找AI理解,免得AI告诉你错的用法,照抄的后果是出错又要疯狂调试。继续问AI,结果回答还是错的。
- 当AI的代码包含你认为不重要的逻辑时,建议问问为什么要有这个逻辑,并且上网搜搜这个功能的常见实现,综合确定这个逻辑的重要性
- 对了,AI建议我把这章标题改成“不遵守AI等死吧”
测试
- 写好一个模块后就可以测试了,别最后才疯狂抓错
- 可抽离的逻辑都写到Util里,方便单元测试
隐私配置放到环境变量里
听说有人把包含自己秘钥的配置文件上传到github了(不是我)
Python被骂的原因
- 就是因为一堆模块都没人写类型注释,不知道传什么,也不知道返回什么,还得自己试试
- 另外,**kwargs少用,要用也要写明是干嘛的,否则就是某些模块一样,参数不知道填什么,文档也给个案例不知道能不能改动,甚至有些模块更新后不更文档,照抄案例都能报错
至于用缩进代替括号这件事,这个反而是我喜欢Python的原因,毕竟要是和大括号语言比,也是各有优缺点
JAVA: 喜欢我的}})}})}))}吗