ExtJS中的自定义类属性

时间:2011-10-28 15:26:13

标签: javascript extjs naming-conventions

在ExtJS中命名自定义属性的最佳做法是什么? 名称前加下划线是一个好主意吗?

Ext.create("Ext.Window,{
   height:50,
   _custom:"xxx",
   _action:"yyyy"
});

另一个想法是使用 data _ 前缀来模仿html5自定义属性约定。

4 个答案:

答案 0 :(得分:4)

我个人不喜欢带有额外语法信息的变量名中的任何内容(Bob叔叔在http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882中将整个部分专门用于此原则),更不用说它产生的丑陋代码(例如{{1 }})。

我只是给你的变量描述性名称,然后你的代码会更好地阅读,你不必担心与Ext属性的冲突(如果你担心的话)。

我更喜欢这个:

mywindow._custom

答案 1 :(得分:1)

与其他人一致,并且会在大多数语法中添加下划线或多或少是私有变量的公认标准(尽管Ext JS本身不使用它,并通过注释保持私有变量标记为私有或未记录惯例)。如果你坚持选择一些惯例,我绝对会选择其他方式来命名公共配置,尽管我同意其他人认为它可能没有必要。我猜想在大多数情况下,你的自定义属性不会像冲突一样通用(如果是的话,你可能会为你要添加的任何内容选择不好的名字)。

答案 2 :(得分:0)

您必须记住,您正在设计可能被其他人使用的自定义属性。这意味着它必须描述其行为。这才是最重要的。使用_是非常罕见的,使用代码的开发人员并不自然,所以它必须是用户友好的。

答案 3 :(得分:0)

我决定使用_作为自定义变量的前缀。这是因为:

  • 防止任何碰撞
  • 自文档
  • 这是用户友好的

如果Sencha使用一种机制来防止混淆会更好。