0

当我们创建和设计 Windows.Forms 控件时,Visual Studio 可以为我们生成大量代码。它还用#region 语句包围了大部分内容。在较新的版本中,它还使用部分类将生成的代码与手动创建的代码分开。开发人员应该只在某些区域编辑代码。

但是没有什么能阻止我们以我们喜欢的任何方式违反这一点。我对可以由设计师进行的手动编辑,或者在设计师没有触及的区域进行手动编辑感到满意。但我想标记任何其他类型的编辑。

有谁知道可以做到这一点的实用程序?也许是 StyleCop 规则?我主要需要它来组合 C#、Windows.Forms 和 Visual Studio 2003、2005 和 2008。

4

2 回答 2

2

这些天来,设计器代码应该最终在一个.Designer.cs文件中。开发人员需要触及这一点应该是非常罕见的。不幸的是,我不知道有什么方法可以验证代码是否真正由设计者生成。如果它包含某种哈希值会很方便,但据我所知,它并不...

考虑到现在说“不要编辑设计器文件”是多么容易,你真的需要另一个系统吗?这不像您需要远离特定区域 - 这是整个文件超出范围。

于 2009-09-23T09:25:59.557 回答
1

为什么不允许开发人员更改此代码?如果他们能够编写有效的代码,他们应该被允许这样做。如果他们不能编写有效的代码,可以说他们应该接受培训或解雇。

您只需将“它有效”的含义扩展为“它在运行时以及在设计器中都有效”。那么这有什么问题呢?

今天的 gui 设计者不是很严格,并且在“理解”人类编写的代码方面做得很好。


周围也有真实生成的代码,例如由一些 xml 规范、资源等生成的代码。这些代码是在构建时生成的,所以当它被更改时,这些更改在构建应用程序时都会撤消。

设计师不是这种真正的代码生成器。它们是一种“编码助手”,可以帮助开发人员更快地编写代码,然后输入代码。但实际上应该可以手动编写相同类型的代码,尽管将自己限制在设计人员的能力范围内是一个合理的可维护性决定.

于 2009-09-23T09:41:28.493 回答