假设我在一个 View 中有一个函数,它会在某种状态发生变化时触发。 最好将其命名为什么?为什么?
- 状态变化
- 状态改变
- onStateChange
- onStateChanged
最佳答案
我个人更喜欢使用 onEventName
名称保持 DOM 事件处理程序的 native 命名约定。
赞 myElement.onclick = function() { /* ... */ }
对于 click
事件。
所以对于 myEvent
我正在使用名为 onMyEvent
的处理程序.
如果我有事件 stateChange
,那么我将使用 onStateChange
处理程序。
但实际上,这个问题对于每个开发人员团队和团队/公司内部的代码风格约定来说更为具体。
所以这类问题的主要目标是保持所有部分的代码风格相同,以确保可读性。
因此,如果您在团队中工作,请遵守团队的代码编写约定;如果您单独处理现有代码,请尽量保持其代码风格(确保该风格不会明显难看)。
更新:理解。
什么是事件? 大致是在程序外或程序内发起的 Action ,换句话说,系统中发生了一些事情,例如一些状态变化(键盘、鼠标、I/O 设备等的状态)与如何(用户单击鼠标或某些程序向系统发送鼠标单击信号)无关。
假设浏览器窗口已订阅以获取有关某些事件的通知,并且操作系统会尽快将它们发送给它,我们假设在发生某些事情的同时。因此,如果用户在浏览器窗口处于事件状态且文档具有焦点时单击鼠标,浏览器会告诉文档触发 click
。事件。这是我们的 onclick
处理程序开始调用。换句话说,系统告诉我们现在发生了某些状态的变化。我们正在处理此更改,而不是处理告诉我们状态已更改的事实。
假设我们的处理程序名为 onClicked
. 由于处理程序的名称用过去时表示,我们可以得到一个合理的问题:“点击时,它发生了多久?点击了多少次?嗯,也许现在处理这个 Action (或 Action )为时已晚?)根本……”。所以这个名字告诉我们过去某个时候发生过某事。
相比之下,当我们的处理程序被命名为 onClick
时 很明显 click
事件刚刚触发并触发了一次,我们立即收到了通知。我们将处理 点击事件 - 告诉我们鼠标状态现在改变的信息(不是鼠标 < strong>点击,但点击事件)。
所以过去时的名称更适合我们需要检查某些状态是否已更改的情况。例如。如果变量存储 state = 1
我们可以调用函数 isStateChanged();
这将比较 state
中的值当前时刻具有实际值的变量。在这里,过去时是一个不错的命名选择。
关于javascript - 事件处理程序命名的 Backbone.js 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11990176/