擅长:python、mysql、java
<p>这听起来是个危险的问题:)</p>
<p>我之所以这么说,是因为尽管设计解决方案有许多不同的方法,但每种方法都有其各自的优缺点。一个设计良好的应用程序是基于众多因素(不限于:</p>
<ul>
<li>预算</li>
<li>时间轴</li>
<li>申请规模</li>
<li>现有技术</li>
<li>性能要求</li>
</ul>
<p>性能是一个特别棘手的领域,因为人们通常会根据特定的预期(或观察到的)使用模式来优化代码。性能优化还可能包括某些启发式方法,这些方法可能会与公认的“良好实践”相悖,但在激烈的抨击下,这可能是最好的方法。在</p>
<p>我建议一个好的开始是研究好的编码实践的共同因素。例如:</p>
<ul>
<li>可维护性(对于一个不熟悉应用程序的开发人员来说,修改应用程序有多容易?理想情况下不破坏所有东西)</li>
<li>可重用性(应用程序的逻辑结构是如何使代码的关键部分可以重用)这既使软件更易于维护,也通常表明结构良好</li>
<li>可读性(代码的视觉结构如何/方法/变量等在源文件中的命名等)如果您希望在团队中编写代码,这一点非常重要:)</li>
</ul>
<p>其他值得关注的是资源的使用效率。在</p>
<p>对于更广泛的“架构”示例,列举特定模式的好例子比列出展示“良好软件架构”的一般应用程序更容易。同样,几乎任何实质性的应用程序都有代码在火下编写,这可能导致坏的例子与好的混合在一起。在</p>
<p>如果我选择一些特定的东西,你知道,直接回答这个问题,我会说<a href="http://www2.bittorrent.com/opensource" rel="nofollow">bittorrent</a>既有趣又设计/编写得很好。关于这个项目的几个很酷的方面的总结,请参阅本文<a href="http://onlamp.com/pub/a/python/2003/7/17/pythonnews.html" rel="nofollow">BitTorrent Style</a></p>