oop – 最佳实践:默认的受保护或私有方法和测试驱动开发
类似的问题
> When do you write a private method,versus protected? 我的问题 许多人同意只有在您有理由使用受保护的方法时才应使用受保护的方法.测试驱动的开发模型如何进入这个? (特别是关于伪装对象.)我有一个朋友,他是TDD的忠实粉丝,现在是BDD并且是C#开发人员,他告诉我他几乎不使用私有关键字.在他这么说之后,我继续将它用于田野,但开始默认我的所有方法都受到保护. StackOverflow上的一些人也同意默认情况下应该使用受保护的 – 你们有些人可以在这个问题上加以考虑吗?默认情况下使用受保护的最佳理由是什么(因为上面的线程解释的原因不是)? 编辑:根据Oded的评论,如何使用默认保护和开放原则(一个类应该是开放的扩展和关闭修改)? 解决方法
以下是我认为最佳做法,与我的发展有关并向我的所有客户提出建议:
>从测试开始(或规范,如果您正在进入BDD).您从测试中提取的生产类和方法应该是公开的. >注意:如果您正在使用.NET进行开发,则可能需要考虑使用internal关键字(并将InternalsVisibleTo程序集属性添加到生产程序集中,以便测试项目可以使用代码).那么只有当另一个生产组件依赖它时,你才会公开它. >作为TDD重构阶段的一部分创建的任何方法都应该是私有的. >如果另一个程序集已经依赖于辅助类的程序集,请将帮助程序类设为public(如果尚未使用). 这应该几乎涵盖了你的所有情况.希望这可以帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |