在 QtCreator 之类的 IDE 或 Visual C# 的表单设计器中,我想知道标签“应该”被命名还是只保留表单设计器的默认命名方案。如果对象不会在代码中被触及并且仅用作不变的文本信息,那么该对象是否需要成为某些命名方案的一部分?如果我在用户输入姓名的文本字段上方有一个标签,我应该将该标签命名为“lblNamePrompt”吗?
只是好奇想得到一些回应。
在 QtCreator 之类的 IDE 或 Visual C# 的表单设计器中,我想知道标签“应该”被命名还是只保留表单设计器的默认命名方案。如果对象不会在代码中被触及并且仅用作不变的文本信息,那么该对象是否需要成为某些命名方案的一部分?如果我在用户输入姓名的文本字段上方有一个标签,我应该将该标签命名为“lblNamePrompt”吗?
只是好奇想得到一些回应。
我不同意接受的答案。在编程的某些方面,可以说懒惰是一种美德,但命名不是其中之一——无论是控件、变量还是成员,你的目标应该是清晰,而不是效率。
最终必须有人理解和维护这段代码,即使只有我试图回答你在 Stack Overflow 上发布的问题。您为对象提供的描述性名称越多,我或其他任何人就越容易筛选您的源代码。
假设您在 Visual Studio 中使用表单设计器,我提出一个非常简单的规则:
如果您不打算在代码中的任何位置使用该控件,则应将其GenerateMember
属性设置为“False”。这可以防止设计人员为控件发出类级别的成员变量,而是只在InitializeComponent
方法中生成一个局部变量,从而限制混乱。只有这样,您才应该对不给控件命名感到自在。
否则,如果您计划或可能曾经在代码中的某个位置引用该控件,您应该给它一个描述性的名称。时期。打字并不难。
我认为这个问题的有争议的部分是准匈牙利符号是否有用
(如 Garis 的回答中所建议的那样),而不是你是否应该给控件起一个名字。我个人喜欢“btn”导致所有按钮控件在 Intellisense 中排序在一起的方式,但我理解有些人对匈牙利语有一种病态的仇恨,这可能源于在他们编码生涯的早期阶段被迫使用它,所以随意使用或不使用它取决于您的喜好。
如果对象不会在代码中被触及并且仅用作不变的文本信息,那么该对象是否需要成为某些命名方案的一部分?
如果我不打算使用它,我不会给它起名字。
因为我很懒,而且如果某些东西按原样工作,我就不会修复它。
我认为即使您“从不”(注意双引号)不打算触摸它,也要保持代码清晰是一种很好的做法。我会建议给它起个好名字。
我不是 .NET 程序员,但我在一些代码中看到它们使用的名称如下:
为了:
标签:
纽扣:
我非常赞成YAGNI。但我认为给对象起一个引用它的目的/用途的名称是值得的。