2012-10-19 91 views
3

我有一个python web服务器,有一个基于自定义文本的游戏和博客。我正在努力将代码分离成适合参考的地方,事情正在失控。组织复杂的Python代码系统是否有一个很好的标准?

旅游组织:

  • 独立的模块类
  • 单独的模块功能
  • 数据库调用和结果
  • 处理用户输入
  • 安全问题

有什么指导或已知的方法,这是很好的继续进行这些项目的工作。我发现我的代码开始变为WET(写入所有内容两次),我无法阻止它。我希望你们有更多经验的任何提示。

+0

我发现至少使面向对象编程的尝试有所帮助。对于我来说,它始终是OOP和代码之间的战斗。对我来说,它仍然不是第二天性。这不是一个答案,因为我没有时间将一些参考文献放在一起。祝你好运。 – Omnikrys

+0

尝试将此移到[程序员](http://programmers.stackexchange.com/) –

回答

1

如果这些是你觉得你的应用程序逻辑意义被分解成,然后开始创建模块,并在两者来回移动代码的方式对你有意义的区域。

有做到这一点,因为它是主观的每一个人使用的情况下没有真正正确的方式,但也有是可以用来帮助提高代码的质量水平静态代码分析工具。我已经经常使用

工具是PEP8(大多为遵守公约)和pylint的。 pyflakes也显然是另一个伟大的(我一直在使用它的意思)。我发现通过pep8和pylint运行后,我所做的更改数量使得我的代码更容易理解(我还了解了之前我一直做得不好的一些事情),结果始终更高整体质量代码。

另外,我读了@Omnikrys的评论,并不同意。 Python是一种多范式语言,如果你选择沿着这条路走下去,它显然适合OOP。然而,我发现,一旦你真正弄清楚如何在其所有鸭打字荣耀的使用Python,真正拥抱“我们都同意的成年人”的理念,就可以开始编写一些非常高品质,而不是过度设计的解决方案。当然,这是非常有争议的(我已经在这个主题上进行过不少辩论),完全取决于你。

+0

我并不是指任何严格遵守或任何事情,但任何大型项目都可以从一个小结构中受益。更多按目的/功能将其分解到文件夹中,以便您拥有诸如utilities.do_stuff()之类的常见内容库,而不是散布在周围的100个版本的do_stuff()。也许OOP是一个糟糕的选择。 – Omnikrys

相关问题