典型案例
下面列举了一些eMAN系统(前台部分)中较常见的代码质量问题。我们没有列出一些更常见的“坏味道”(例如大类、长方法等),因为Martin Fowler在《重构》一书中已经把它们描述得足够清楚,而且针对它们的重构也相对容易。本文中列出的是一些相对规模较大、较为复杂的情形。
我们相信类似的情形也存在于很多其他系统中,但我们并不打算宣称这个列表足以包治百病。大规模重构是一件极其复杂的细致活,很多时候你需要根据当前情况寻找适合自己的解决方案。
无法在测试环境中创建被测对象
对象在创建过程中自己尝试获得所需的依赖对象,就可能在单元测试环境下因无法创建依赖对象而导致被测对象的创建失败,从而不能把被测对象放进单元测试。例如AuthorizationService类的创建过程如下: