保持代码“干净”的好处是什么?
很多时候,我在这里看到有人试图在XAML中做类似的事情,而不是后面的代码。他们唯一的理由是他们想要保持代码后面的‘干净’。如果我错了,请纠正我,但事实并非如此:
纯粹是心理上的吗?我怀疑是来自web背景的开发人员喜欢标记,而不是代码。
编辑:我不建议后面的代码,而不是XAML --两者都用--我也喜欢用XAML进行绑定--我只是反对尽一切努力避免在WPF应用程序(特别是在WPF应用程序中)后面编写代码--这应该是两者的融合,以最大限度地利用它们。
发布于 2010-10-07 07:16:48
1.设计器透视图
UI通常是由设计师使用设计工具(表达式、混合和朋友)构建的。如果我有这样的工作,如果你在代码背后放了大量的UI相关代码,它就不能工作。至少这是我们的经历。它定义的代码和行为/功能对于设计人员来说是不可接受的:
此外,我们已经体验到很难找到一种方法来为设计人员提供模拟的设计时数据(d:DesignInstance, d:DesignData, d:DataContext),如果有代码隐藏的话。
2.开发人员透视图
代码隐藏中与UI相关的代码(我在这里假设没有必要讨论将域逻辑放在代码背后的概率)是不可重用的代码。代码将永远绑定到特定的UserControl/Window/Page。例如,如果我要编写一个定制的附加财产或行为,我就会感到满意,因为他们也可以使用它。
我输入的所有代码都是很难测试的代码。当然,仅仅将其放在XAML或自定义附加属性中并不会使它变得更容易。但是,取决于我在代码背后的功能类型,在某些情况下,我可以将它封装在可测试(可重用)类中。
在XAML中定义外观和行为往往比在代码中更容易出现,而不是(相对于发问者参数)。我只是不能像在代码中那样在XAML中犯尽可能多的错误。如果我做错了什么,很有可能我马上就会在设计师/视觉工作室看到它。当然,这些工具在这里仍然可以改进。事实上,如果我另外使用ReSharper,那么提问者提到的那些“不正确的拼写”在XAML中几乎是不可能做到的。我马上就能看到那个代码的高亮。我相信标准的工具会发现这一点。XAML是在WPF中定义UI的首选方法,microsoft已经做出了更大的努力,以确保它按照预期工作,而不是使用代码。事实上,我已经花费了相当长的时间来调试内存泄漏和运行时异常,这些代码做了与UI相关的工作,并且可以转移到XAML,很少或根本不需要付出额外的努力。
如果我放松了禁欲背后的代码,那么我编写杂乱无章和糟糕代码的风险就会更高。有时候,在代码背后放置一个快速的黑客是很诱人的。我们遭受了不止一次的后果。
使用代码隐藏很少是真正必要的。一旦您习惯了ViewModel驱动的UI,那么代码隐藏就永远不是一个合理的必要。把它放到别的地方不需要太多的努力。那为什么要费心呢?
发布于 2010-10-07 04:49:32
我认为这与
发布于 2010-10-07 04:21:28
您应该保持所有代码的整洁,并且将工作从后面的代码移到XAML并不是保持它的干净--它只是移动到它所在的位置。您应该将代码( XAML是代码的一种形式)放在最有意义的地方,同时尽可能地遵循OOD原则。
https://stackoverflow.com/questions/3878610
复制相似问题