专栏首页程序员的碎碎念多个单词的命名规范有哪些优缺点?

多个单词的命名规范有哪些优缺点?

嘿嘿~我写这篇文章主要还是想向大家请教的,我们今天聊三个最常用的吧:横杠 - 连接、下划线 _ 连接、驼峰。

首先我们不讨论哪个命名规范最好,这没什么意义,因为不同的编程语言和开发环境中使用的是不一样的规范,我们只讨论这三个规范在哪些方面是有优缺点的,包括文件的命名。

驼峰方式在 HTML 中的一个不好之处:

在前端方面,浏览器会把一些名称变量属性等转换为小写,例如标签的 attribute 名会被全部强制转为小写:

这个例子中,只有位于前面的id属性发挥了作用,不管大小写

而如果在项目中习惯使用驼峰命名,有时候可能会因为不小心写了个userName和username在同一个文件中,而满头大汗流浃背地找 bug。

横杠方式命名的网址在 SEO 优化中的一个优点:

在国外的英文网站中,网址是建议使用横杠的。

因为国外多数人使用的是谷歌浏览器,在搜索时,网址也会被考虑到英文搜索中,而谷歌搜索引擎会把横杠作为一个词的分隔符,但却不会把下划线考虑进去。所以做 SEO 优化时,也会把网址的书写格式考虑进去。网址方面的 SEO 优化还有以 .html 作为 URL 结尾等常见用法。

在国内这个问题就不明显了。所以用哪个都问题不大,个人用着习惯也挺 OK 的。

但我细想一下,突然觉得 web 框架在这方面的一个潜在优点就凸显出来了。

以 Django 框架为例,Django 使用路由系统来实现 URL 与实际网页的渲染程序的关联,所以不管项目文件名如何,只需要修改路由系统中的 URL 字符串便可以实现网址中的英文使用横杠连接的效果,实在是好用呀!

能听得懂我这个描述么?听不懂没关系,我上图:

路由如上,网址访问的URL为 a-test-file,而这个 URL 对应的 CGI 提供文件

CGI 如上

其他 web 框架应该也是这样用吧?顿时觉得做框架的那些人设计得真是太美了。

听说横杠方式有一些缺点?

这是在网上看到的一些讨论,但本人没试过,所以也不知道是不是真的,你是否有遇到过类似的情况?欢迎你的留言~

本文分享自微信公众号 - 程序员的碎碎念(gh_53e607dd4782),作者:米国队长

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何写出完美的接口:接口规范定义、接口管理工具推荐

    无规矩不成方圆,为了开发人员间更好的配合,我特意整理了这么一篇文档供大家参考学习,如有意见、见解,请在评论区留言探讨。

    xcbeyond
  • 【关于 NLP】百问百答

    作者:杨夕、芙蕖、李玲、陈海顺、twilight、LeoLRH、JimmyDU、艾春辉、张永泰、金金金

    杨夕
  • 【关于 NLP】百问百答

    本项目是作者们根据个人面试和经验总结出的自然语言处理(NLP)面试准备的学习笔记与资料,该资料目前包含 自然语言处理各领域的 面试题积累。

    杨夕
  • 怎样的变量命名,才显得有文化?

    相信不少程序员都为变量命名这个问题伤透了脑筋。变量名太短了别人看不懂,太长了又显得啰嗦,不长不短又考验词汇量,一不留神就跟已有变量名重复。取得一手好名字确实是一...

    刘小夕
  • 什么鬼,又不知道怎么命名class了

    相信写css的人都会遇到下面的问题: 糟糕,怎么命名这个class,好像不太贴切,要是冲突了怎么办,要不要设计成通用一点... 而改别人css代码的时候则会一直...

    IMWeb前端团队
  • 什么鬼,又不知道怎么命名class了

    第一,class跟id不一样,class本来就是设计用来可以重复利用的,而id才是设计唯一的(如果遵循BEM,class几乎也都是唯一的了)。

    IMWeb前端团队
  • JavaScript 基础语法

    讲法声明 - 很重要,请先查看 关于JavaScript的讲法,我们采取的方式与HTML&CSS类似,先在课程中带大家,以“实现页面小功能”为目的,一步一步的进...

    HTML5学堂
  • 带你入门前端工程(二):统一规范

    代码规范是指程序员在编码时要遵守的规则,规范的目的就是为了让程序员编写易于阅读、可维护的代码。

    谭光志
  • 初识计算机和编程简单运用

       能够执行的操作:+加  -减   *乘   //正除   **次方   %取模

    py3study

扫码关注云+社区

领取腾讯云代金券