概述
当然,现在已经增长了,我可以看到组织很差,一个类有很多方法,测试变得困难,检查代码很混乱,因为那里有很多.
所以我想把它分成几个子模块,你知道X import Y的代码,所以代码更易读,可测试,更小但是我发现我完全不知道如何实现它,因为我有很多共享变量和所有使用类变量的所有方法一样在整个类….
那么,有没有关于用“子模块”创建python模块的好文档?如何在类之间共享对象变量?例如,我应该检查哪些明确的模块有一个子模块的登录和其他子模块的功能?
干杯!
根据您所描述的内容,您需要立即停止使用存储在类中的数据并开始使用成员函数进行访问.
class A(object): def __init__(self,value): self.value = value a = A(1) print a.value a.value = 5 print a.value
看看我如何直接修改值?这可能导致代码中的各种假设.使用方法检索值并进行更改最好.注意,没有头脑的getFoo / setFoo也不好.尝试让你的方法暴露行为而不是扭曲的旋钮.
class A(object): def __init__(self,value): self.value = value def is_safe(self): if value > 10: return False return True def increase_value(self,increment): if increment <= 0: raise ValueError("only positive increments are allowed") self.value += increment
看看逻辑是如何自包含的?我们从不希望A的实例变小,所以我们只允许增量并命名函数增加来指示这一点. setValue不告诉什么或为什么.
对于模块和子模块,将事物组合在一起. “匹配”基于您自己的代码需求.所有的用户功能?所有数据库功能?将内容放入模块中可以使用相同的公开API插入不同的模块.从sql DB或本地文本文件中考虑身份验证.
总结
以上是编程之家为你收集整理的将python模块拆分为子模块的正确方法是什么?全部内容,希望文章能够帮你解决将python模块拆分为子模块的正确方法是什么?所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧