这是一篇为 GitHub 仓库贡献者提供的行为准则,如果您不是贡献者则不必阅读此文档。
- 友善交流,以礼相待。
- 互帮互助,共同学习。
- 如有意见,予以尊重。
见 贡献指南。
- Echo 和 Echo Live 是两个独立项目,如果您为了给 Echo Live 新增功能而为 Echo 设计了只为 Echo Live 服务的功能,那就说明您并没有考虑其功能泛用性,亦或者您根本不需要更改 Echo 就能实现想要的功能。反之,如果您一定要修改 Echo,则说明 Echo 存在缺陷,请您直接对 Echo 项目提交 PR。
- 如果您为 Echo Live 设计了新功能,建议您在 帮助文档 中为新功能撰写指南。
命名应当尽可能概括其用意,准确描述其功能。
对于长生命周期变量,请勿使用简写。
对于短生命周期变量,建议使用以下简写:
e
—— 事件监听函数传入的事件参数(Event),元素遍历函数传入的元素参数(Element)。i
,j
,k
... —— 索引编号,常用于循环体。
对于内部变量或内部方法等内部对象,应使用两个下划线 “__
” 作为前缀。内部对象仅用于与公共对象作区分,避免混淆或误用,请勿滥用此命名方式。
如果变量内容是通过 JQuery 选择器选择的元素,则以美元符号 “$
” 作为前缀。此类变量常被命名为 $sel
。另外,如果变量内容是用于快速选择器的字符串,则不应使用此前缀,如 sel
。此外,基于习惯,本地化函数被命名为 $t
。
如无特别说明,整个项目的命名一律采用小驼峰命名法,如 printSpeedStart
,但有以下例外:
- 对于类名,采用大驼峰命名法,如
EchoLiveBroadcast
,但不包括将类实例化后的变量名。 - 对于对外识别名,如配置项目、API 名称等,采用下划线命名法,如
echo_state_update
。 - 如在特定情况下特定的命名法会引发错误,则视情况采用最合适的命名法。
- 拼音命名 —— 这是绝对不能接受的命名方式,除非该词在英语中没有对应单词或已被英语词典收录并广泛使用。
- 不必要的非英语名称 —— 一律使用英语命名,除非所描述的对象仅在特定语言有命名或舶来自特定语言,如
danmaku
(弹幕)。 - 阅读困难的命名 —— 如
Oo0oOo0
、IlIIillIl
、______
、sEtTiMeOuT
。 - 易混淆的命名 —— 如
ltem
(形似Item
)、fnuciton
(形似function
)。 - 使用非英语字符 —— 虽然您可以做到,程序似乎也能正常跑,但不代表您可以这么做。