reload
[1] 不是打 patch(可以有旧对象删除、有新对象增加、有旧对象修改);而是把 reload 时生成的新对象替换掉同名旧对象;无法删除旧对象。
[2] reload(m)后,用 from m import obj 方式导入的 obj 仍然指向旧的 obj。
[3] reload(m)后,class 及其派生 class 的实例对象,仍然使用旧的 class 定义。
开发项目是没有考虑到后期要做热更新,导致改动很大
现做总结
对需要热更新的模块严格和别的功能模块隔开
像 配置(settings)等 严格按照 import settings 风格导入,使用时 settings.xx