繁体   English   中英

关于封装python的最佳实践

[英]best practice regarding encapsulation python

我怀疑这将是一个非常补救的问题,但是这里有:

通常,当我在该类中创建新的类和方法时,我倾向于通过使它们成为self.x而不是普通的旧变量,从而使许多我认为从根本上可以在其函数中“局部”访问的变量例如x。 我发现这对调试很有帮助(例如,如果最终结果很奇怪,我可以返回以确保数组x的内容符合我的想法)。

这使我可以在编写过程中进行诊断,但是后来我不得不返回并更改所有self.x,self.y等...回到普通的旧x,y等...以便稍后我输入对象名称,可以管理的东西列表。

我想这种做法反映了我作为初学者的身份,我想知道经验丰富的家伙在这方面正在做些什么。 我认为必须有更好的方法。 感谢任何tims或建议。

封装实际上是一种抽象形式。 您想要实现的是使数据处理尽可能容易,并从外部隐藏所有细微的细节。 您需要松散耦合的组件
这里有一些提示:

  • 考虑正确的数据结构。 它应该接近问题,易于使用并且易于实现。
  • 避免使用冗余代码。 一项任务的一项功能。 每个模块一节课。 这也增加了代码重用。
  • 认为库不是程序。 将相关功能和模块组合到库中。 使用它们的程序应该将库粘合在一起。 然后,您可以与主程序分开改进库,并将代码也用于其他项目。
  • 避免全局状态。 您不想让变量在各处使用并在意想不到的地方被修改。 这只会在以后引起头痛。

尽管如此,请继续编码。 随着时间的流逝,您会变得更好。 这只是经验。 如果您有空闲时间进行此工作,请尝试Euler项目

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM