1. 重名,最常见问题,解决办法也最直接:换名字。
2. Python 代码的编写非常灵活,可以使用 get_obj_by_str 这样的机制;因此,重构属性名称的时候,指代该属性的字符串也需改变,Pycham 在这一块的重构还需人工参与。使用测试用例发现错误,然后将相关的字符串批量替换(使用 Pycharm 的 replace in path 功能)。
3. 被引用的越多,重构代价越,因此重构要趁早。
4. 对于 model 的重构,工作量会稍大一些,相关的 migration 文件也需随之重构,如将 model 移动到其他 app,今后执行 migrate 命令时可能发生数据表已存在的问题,此时需要手工小心处理。
扩展阅读:
How to Refactor Code in Python: A Beginner's Guide
http://hubpages.com/technology/How-To-Refactor-Code-In-Python-A-Beginners-Guide
rope: https://github.com/python-rope/rope
2. Python 代码的编写非常灵活,可以使用 get_obj_by_str 这样的机制;因此,重构属性名称的时候,指代该属性的字符串也需改变,Pycham 在这一块的重构还需人工参与。使用测试用例发现错误,然后将相关的字符串批量替换(使用 Pycharm 的 replace in path 功能)。
3. 被引用的越多,重构代价越,因此重构要趁早。
4. 对于 model 的重构,工作量会稍大一些,相关的 migration 文件也需随之重构,如将 model 移动到其他 app,今后执行 migrate 命令时可能发生数据表已存在的问题,此时需要手工小心处理。
扩展阅读:
How to Refactor Code in Python: A Beginner's Guide
http://hubpages.com/technology/How-To-Refactor-Code-In-Python-A-Beginners-Guide
rope: https://github.com/python-rope/rope