命名类的正确方法是啥? [关闭]

Posted

技术标签:

【中文标题】命名类的正确方法是啥? [关闭]【英文标题】:What's the proper way of Naming a class? [closed]命名类的正确方法是什么? [关闭] 【发布时间】:2018-06-05 22:30:05 【问题描述】:

许多人这样命名他们的类:header-menu

我个人更喜欢 header_logo;因为对于懒惰的编码人员来说,它更易于阅读和复制粘贴。

用“_”或“-”命名类有什么明显区别吗?

我真的很好奇,很想用最好的方法;请赐教;

谢谢!

【问题讨论】:

【参考方案1】:

不幸的是,_ 用于分隔元素或块修饰符。因此与 BEM 一起使用是无效

您的示例的有效名称:

header-menu
headerMenu

更多相关示例:

连字符样式:

header-menu -> block
header-menu__logo -> element
header-menu_theme_xmas -> block modifier
header-menu__logo_size_big -> element modifier

驼峰式:

headerMenu -> block
headerMenu__logo -> element
headerMenu_theme_xmas -> block modifier
headerMenu__logo_size_big -> element modifier

来自文档:

命名规则 block-name__elem-name_mod-name_mod-val

名称以小写拉丁字母书写。

单词用连字符 (-) 分隔。

块名称定义了其元素和修饰符的命名空间。

元素名称与块名称用双精度分隔 下划线 (__)。

修饰符名称由块或元素名称分隔 单下划线 (_)。

修饰符值与修饰符名称之间用单个分隔 下划线 (_)。

对于布尔修饰符,该值不包含在 name.block-name__elem-name_mod-name_mod-val 中

有关命名约定的更多信息:https://en.bem.info/methodology/naming-convention/

【讨论】:

【参考方案2】:

没有正确的方法,只需使用您喜欢的任何 css 名称约定。当然,您可以遵循或忽略一些准则,例如:BEM、SMACSS 等等。

【讨论】:

以上是关于命名类的正确方法是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用命名管道时发送数据的正确方法是啥?

模块与命名空间:组织大型打字稿项目的正确方法是啥?

重命名heroku应用程序的正确方法是啥?

C++:在匿名命名空间中声明函数原型的正确方法是啥?

“预定义”和使用命名空间和 std::shared_ptr 的正确方法是啥?

在 Prisma 中命名关系的正确方法是啥?是不是有我应该遵循的指导方针或约定?