监听器注册命名习惯用 add/remove 还是 register/unregister?

2020-12-09 12:10:20 +08:00
 kerb15

如题,各位倾向于用哪种?有没有什么考究?

1862 次点击
所在节点    Java
14 条回复
mejee
2020-12-09 12:23:03 +08:00
后者。因为显得高级
des
2020-12-09 12:24:59 +08:00
on off 字少
zoharSoul
2020-12-09 12:28:19 +08:00
add 啊
addOnclickListener
zoharSoul
2020-12-09 12:28:31 +08:00
rosu
2020-12-09 12:48:27 +08:00
个人理解:后者更倾向于搭配使用,有注册就要有注销(内存泄露警告)。前者只是提供删除能力,就算不删除问题也不大。
also24
2020-12-09 13:30:17 +08:00
add/remove 用于可以多次注册的

register/unregister 用于只能单次注册的
also24
2020-12-09 13:30:47 +08:00
好像有点歧义,修改一下:

add/remove 用于可以注册多个的

register/unregister 用于只能注册单个的
cpstar
2020-12-09 14:08:41 +08:00
subscribe?
mebtte
2020-12-09 14:20:50 +08:00
我一般用 listen/unlisten[狗头]
namelosw
2020-12-09 14:29:39 +08:00
啊? 不是一般 subscribe / dispose 嘛? 你这两套脱离上下文就不知道在说啥了.

另外还看语言, 比如 JS / TS 这种 lambda 和类型支持比较好的, 经常用函数, 这样就不用像方法一样非得起个名了.

比如 React 的 hooks, 外层 lambda 是 subscribe, 返回的 lambda 是 dispose:
useEffect(() => {
return () => {}
})

或者像很多 observable 库, 效果是一样的:
const dispose = subscribe()
dispose()
no1xsyzy
2020-12-09 20:50:33 +08:00
connect disconnect (捣浆糊
abersheeran
2020-12-09 22:33:32 +08:00
你自己都说注册了,那就 register 呗。

另外,真不考虑直接用中文变量名吗?看起来你应该是在写 TS ( JS )、C# 这种现代语言。注册 /取消注册,挺好的。
someonedeng
2020-12-11 10:39:20 +08:00
plug / unplug (不是
ychost
2020-12-11 17:53:37 +08:00
listener.add/remove

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/733697

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX