AOP@Work: 使用AspectJ 5检验库方面 - 编程入门网
找 出其中的方法未得到实现的类。您不得不承认 AspectJ 仅能检查各联结点 shadow 是否有效。它无法找出不存在的联结点 shadow,也无法对程序结构作出 一般性断言。针对这些任务,您推荐使用 JQuery,而 JDepends 则适于进行相 关 性检查。得到这些说明后,Zed 表示,由于方面是可选的(对于编译程序而言非 必需),因此可以在开发时使用。但就重要的静态检查而言,Erin 或许应该使 用 一些更有意义的方法。
AOP@Work: 使用AspectJ 5检验库方面(5)时间:2011-09-07 IBM Wes IsbergFaye 的失败促进了样本代码的消除 Faye 在代码审查时未能遵照 Erin 的命令完成工作,由于此后还有许多静态 检查工作,所以她希望您能提供一些帮助。她负责处理包含大量样本代码的最优 方法。经过简短的探讨后,您给了她 3 个抽象方面: 表 2. 样本代码的方面
Faye 像 Erin 那样部署了具体子方面,两个人都非常满意。但 Zed 担心样 本 方面将要部署在产品代码中(即便样本方面是可选的,且程序可在不使用它们的 情况下进行编译)。Buddy 参与了谈话,他认为 EqualsBoilerplate 是一种聊 胜 于无的解决方案。它在调用之前 检查调用目标是否为空,从而避免了若干 NullPointerException。由于必须在每一个调用 equals(..) 的地方进行这样的 检查,所以 Zed 认为在这些方面未出现问题之前,可以暂时使用。 Gail 收集异常日志 Gail 要做大量记录,这使她忙得不可开交,甚至于无法参与讨论。Zed 要求 她提出记录异常日志的解决方案。她对代码块相当熟悉,希望能找到其他方法。 了解她的需求后,您为她提供了一些用于记录日志的简单方面,如表 3 所示: 表 3. 简单的日志记录方面
Gail 可使用切入点(这将令 Arnold 分外高兴)和普通的 Java 方法重写( 这是 Zed 赞成的方法)来调整方面。与配置时仅需简单切入点的库不同, ObserveThrown 具有重写方法 observeException(Throwable)、getLogLevel (Throwable) 和 ignoreException(Throwable)。默认情况下,方面会使用自己 的 与切入点相关的日志记录程序,这对 Gail 来说比每个类的日志记录程序更有意 义。Gail 可部分地理解库方面,因为它通常委托给超类 ThrownObserver 中的 方 法,如清单 6 所示: 清单 6. 观察异常
AOP@Work: 使用AspectJ 5检验库方面(6)时间:2011-09-07 IBM Wes Isberg观察了新日志后,Zed 对其一致性非常满意,但就仅记录堆栈跟踪的情况提 出 了反对意 |
||||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |