在ExtJS中命名自定义属性的最佳做法是什么? 名称前加下划线是一个好主意吗?
Ext.create("Ext.Window,{
height:50,
_custom:"xxx",
_action:"yyyy"
});
另一个想法是使用 data _ 前缀来模仿html5自定义属性约定。
答案 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使用一种机制来防止混淆会更好。