建议一个我可以用来学习良好软件架构的项目
我快完成Zed Shaw的《艰难的Python学习之路》了。我也知道,除了亲自动手做项目,学习别人的代码是提升编程水平的第二好方法。现在有很多代码库可以下载和学习,项目资源非常丰富。
不过,也要说并不是所有的项目在设计和代码质量上都是一样的。有时候我写的程序质量很差,所以我不想再让自己重新学习。
也许你在刚开始学习的时候,有哪个Python应用让你印象深刻(无论是设计还是代码质量)。如果有的话,我希望你能分享一下,这样我也能从中受益。
3 个回答
1
可以看看 Twisted 这个网站。
3
这里有一本很不错的书和一些资料,可以帮助你了解各种不同的架构。
2
这听起来像是个危险的问题 :)
我这么说是因为虽然有很多不同的方法来设计一个解决方案,但每种方法通常都有自己的优缺点。一个设计良好的应用程序是基于许多因素经过深思熟虑的决策的结果,这些因素包括但不限于:
- 预算
- 时间安排
- 应用程序的规模
- 可用的技术
- 性能要求
性能是一个特别棘手的领域,因为通常会根据预期的(或观察到的)使用模式来优化代码。性能优化可能还包括一些经验法则,这些法则可能与被认为是“好做法”的东西相悖,但在紧急情况下,这可能是最佳的解决方案。
我建议一个好的起点是看看良好编码实践的共同因素。例如:
- 可维护性(开发者在修改应用程序时,尤其是对应用程序不熟悉的开发者,是否容易进行修改——理想情况下不会破坏整个应用)
- 可重用性(应用程序的结构是否合理,以便代码的关键部分可以被重用)这不仅使软件更容易维护,还通常表明结构良好
- 可读性(代码的视觉结构如何/方法、变量等在源文件中的命名是否清晰)如果你希望在团队中编写代码,这一点非常重要 :)
其他值得关注的方面是资源的使用效率。
如果要谈更广泛的“架构”示例,列举一些具体模式的好例子会比列出一般应用程序的“良好软件架构”要容易得多。此外,几乎任何有分量的应用程序在开发过程中都可能会写出一些不好的代码,这可能会导致好的和坏的例子混在一起。
如果我必须选择一个具体的例子来直接回答这个问题,我会说bittorrent既有趣又设计良好/编写得很好。想了解这个项目的几个酷方面,可以看看这篇文章BitTorrent Style