如果你曾经参与过大规模软件的开发,无论时间是长是短,你都一定曾遇到过以下这些表现应用程序架构与设计衰败的迹象:1.由于无法做到以合理的方式重用代码,不得不大量剪切与粘贴重复性的代码(当然,是与bug相关的)。糟糕的代码结构使得代码重用变得不可能;2.以上一点导致了整个应用中充斥着重复性——即使只是一个简单的单一功能变更,也需要在整个应用程序中的各处进行修改;3.整个应用程序的包结构混乱不堪,意味着对于新员工来说这个学习成本过高——对于每个包的功能职责没有清晰的划分;4.每个人在对系统做出变更的时候都试图将他人的变更踩在脚下 ——由于打包规则不一致,导致了对工作进行良好的规划显得困难重重;5