【发布时间】:2009-11-16 17:02:45
【问题描述】:
虽然Hungarian notation 现在被认为是不好的做法,但在用户界面元素的名称中编码类型仍然很常见,或者使用前缀(lblTitle、txtFirstName , ...) 或后缀 (TitleLabel, FirstNameTextBox, ...)。
在我的公司,我们也这样做,因为它使由同事(或很久以前由您自己)编写的代码更易于阅读(根据我的经验)。通常反对这样做的论点——如果类型改变,你必须改变变量的名称——不是很强大,因为改变 UI 元素的类型通常需要重写代码的所有部分,如果它被引用的话.
所以,我正在考虑在开始 WPF 开发时保持这种做法(嗯……我们应该为 TextBlocks 或 TextBoxes 使用 txt 前缀吗?)。有什么我错过的大缺点吗?这是你说“不要这样做,因为……”的机会。
编辑:我知道通过数据绑定来命名 UI 元素的需求减少了。然而,有时它是必要的,例如在开发自定义控件时...
【问题讨论】:
-
实际上不需要命名 TextBlock,因此
txt问题可能是一个有争议的问题。事实上,如果你需要从代码中访问它,你只需要命名任何东西。由于大多数 WPF UI 由数据绑定驱动并在 XAML 中声明,这大大减少了为每个控件命名的需要。 -
如果其他 UIElement 使用 ElementName 绑定绑定到它们,您还需要命名它们。
标签: wpf coding-style