建议我可以用来研究良好的软件架构的项目

时间:2011-12-02 19:54:54

标签: python

我即将完成Zed Shaw的学习Python的艰难之路。我也知道,除了实际参与和开展项目之外,编程卓越的第二个最好的事情是研究其他人的代码。感谢所有存储库,可以下载和学习的项目不缺。

然而,公平地说,并非所有项目在设计和代码质量方面都具有相同的质量。我有写博士课程的博士学位,因此不想重新教育自己。

当你开始学习时,可能会对一段python应用程序(设计和代码质量明智)印象深刻。在这种情况下,我想知道,以便自己从中受益。

3 个答案:

答案 0 :(得分:3)

这是一本关于阅读各种建筑的非常好的资料和书籍

答案 1 :(得分:2)

这听起来像一个危险的问题:)

我之所以这么说是因为虽然设计解决方案有很多不同的方法,但每种方法通常都有自己的优点和缺点。精心设计的应用程序是基于众多因素的许多许多深思熟虑的决策的最终结果,不仅限于:

  • 预算
  • 时间轴
  • 应用程序的规模
  • 可用技术
  • 性能要求

性能是一个特别棘手的领域,因为通常会根据特定的预期(或观察到的)使用模式优化代码。性能优化还可能包括某些启发式方法,这些启发式方法可能会在被接受为“良好实践”的情况下飞行,但在激烈的情况下它可能是最好的方法。

我建议一个好的起点是研究良好编码实践的常见因素。例如:

  • 可维护性(开发人员对应用程序来说有多容易 - 或者不是 - 修改应用程序 - 理想情况下不会破坏所有内容)
  • 可重用性(应用程序在逻辑上如何构建,以便可以重用代码的关键部分)这使软件更易于维护,并且通常也表示良好的结构
  • 可读性(视觉结构的代码有多好/源文件中命名的方法/变量等等)如果您希望在团队中编写代码,这非常重要:)

值得关注的其他事项是资源的使用效率。

对于更广泛的“体系结构”示例,列举特定模式的优秀示例比列出显示“良好软件体系结构”的常规应用程序更容易。此外,几乎任何实质应用程序都有代码写入火灾可能导致错误与好的混合的例子。

如果我要选择一些特定的东西,你知道,直接回答我会说的问题bittorrent既有趣又精心设计/写作。有关该项目的几个很酷的方面的一个很好的总结,请查看这篇文章BitTorrent Style

答案 2 :(得分:1)

查看Twisted