我们有一个由外部框架ARDEN调用的代码。如果没有评论(容易被忽视),我怎样才能有效地通知开发人员与此框架的关系呢?具体而言,将CLASS,NAMESPACE和METHOD结合到所述框架中。
namespace MyCompany//changing namespace for this class is NOT SAFE
{
public class MyClass//changing class name is NOT SAFE
{
[TiedToArdenAttribute]//maybe an attribute?
public void MethodCalledByArden() {}//adding params, changing name is NOT SAFE
public void NotCalledByArden() {}//changing this method signature, name, params is OK
}
}
在正常情况下,例如当我通过visual studio更改程序集中MyClass
的名称时,如果不修复对所述类的引用,则无法编译。如果命名空间,类名或方法名称发生变化......应该有一个警告,说“最好修复Arden来处理这个变化”。我考虑过错误,但由于无法验证Arden是否已修复,我不相信这会有效。
有没有办法为这个外部框架实现类似的结果?
答案 0 :(得分:3)
我认为无论你做什么都可以被其他开发者取消 - 他们可以重命名类,删除注释,删除属性。
尝试将此类移动到单独的库中。并在您的项目中添加对已编译汇编的引用。这将使您的项目中的类名固定。
答案 1 :(得分:0)
如果其他人正在使用代码,最好通过接口谈合同而不是类实例。通过允许使用者使用接口将决定主要更改,例如属性更改......但内部类名称更改等内容不会影响使用者。此外,您可以对类进行版本控制,在处理新类时,消费者仍然可以使用旧类,直到工厂内部发布它,而消费者不知道正在使用类的V2。