为什么编程都建议不要用拼音命名

这篇具有很好参考价值的文章主要介绍了为什么编程都建议不要用拼音命名。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、场景

我们看看知乎答主举的搞笑例子,一句话全部都是shi,表达起来确实困难。

为什么编程都建议不要用拼音命名

二、原因

上面这个回答,一句话全部都是“shi”,表达起来确实困难。并且让人误解

那么编程都建议不要用拼音命名,主要有以下原因:

  1. 可读性差:使用拼音命名的变量、函数名等很难被其他人理解,特别是如果阅读者的母语不是汉语。此外,由于拼音单词的语音相似,容易产生歧义。
  2. 维护困难:使用拼音命名的代码在后期维护时可能会出现问题。由于使用拼音命名的代码不易理解,维护者可能需要花费更多的时间和精力去理解代码的含义,甚至需要进行代码重构。
  3. 可靠性问题:拼音单词可能会存在多音字、同音字等问题,这会导致代码中的变量、函数名出现歧义或错误。

三、案例分析

为什么编程都建议不要用拼音命名

假设有一个名为“cha”的函数,该函数被用于查找给定列表中是否存在某个元素。一个开发人员可能会选择使用“cha”作为该函数的名称,因为“查找”在汉语中的拼音是“cházhǎo”。

但是,如果这个函数被使用在一个国际化的项目中,其中有很多使用其他语言的开发人员,那么“cha”这个名称就会非常难以理解。例如,在英语中,“cha”这个单词并没有特定的含义,因此英语母语的开发人员可能会误解该函数的目的。

此外,即使是汉语母语的开发人员也可能会对这个名称感到困惑。在汉语中,“cha”这个词可以有很多不同的意义,包括查找、茶、插、叉等等。因此,如果其他开发人员不知道具体上下文,就很难理解“cha”这个名称的含义。

如果这个函数被重构为使用有意义的单词来命名,会更加容易理解和使用。例如,如果将“cha”这个函数重命名为“find”,那么无论是英语母语的开发人员还是汉语母语的开发人员都可以轻松地理解该函数的含义。

除了可读性和理解性问题,使用拼音命名还可能导致维护问题。假设在一个项目中,有一个使用拼音命名的变量“shu”,代表树。如果在后期需要修改这个变量,例如将其改为“tree”,那么所有使用“shu”变量的地方都需要进行修改。而如果使用有意义的单词来命名该变量,例如“tree”,那么只需要修改一处即可。

四、规范(Java)

为什么编程都建议不要用拼音命名

1、类名需要使用大驼峰命名法(UpperCamelCase)风格。方法名、参数名、成员变量、局部变量需要使用小驼峰命名法(lowerCamelCase)。

2、测试方法名、常量、枚举名称需要使用蛇形命名法(snake_case),比如should_get_200_status_code_when_request_is_validCLIENT_CONNECT_SERVER_FAILURE。并且,测试方法名称要求全部小写,常量以及枚举名称需要全部大写。

3、项目文件夹名称使用串式命名法(kebab-case),比如dubbo-registry

4、包名统一使用小写,尽量使用单个名词作为包名,各个单词通过 “.” 分隔符连接,并且各个单词必须为单数。

正例:org.apache.dubbo.common.threadlocal

反例:org.apache_dubbo.Common.threadLocals

5、抽象类命名使用 Abstract 开头

public class AbstractWrapper extends Wrapper{

}

6、异常类命名使用 Exception 结尾。

public class MybatisPlusException extends RuntimeException {

    private static final long serialVersionUID = 1L;

    public MybatisPlusException(String message) {
        super(message);
    }

    public MybatisPlusException(Throwable throwable) {
        super(throwable);
    }

    public MybatisPlusException(String message, Throwable throwable) {
        super(message, throwable);
    }
}

7、测试类命名以它要测试的类的名称开始,以 Test 结尾。

public class AnnotationUtilsTest {
  ......
}

POJO 类中布尔类型的变量,都不要加 is 前缀,否则部分框架解析会引起序列化错误。

如果模块、接口、类、方法使用了设计模式,在命名时需体现出具体模式。

五、总结

使用拼音命名在编程中被认为是不好的实践,因为它可能导致可读性、理解性和维护性问题。在编写代码时,建议使用有意义的单词来命名变量、函数和其他标识符,以确保代码易于理解和维护。文章来源地址https://www.toymoban.com/news/detail-444186.html

到了这里,关于为什么编程都建议不要用拼音命名的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 为什么要用开源容器?

    说到开源容器,大家首先想起来的应该是Docker吧,那么我们就以Docker来从个人角度理解一下为什么要用开源容器。 通常都会说Docker开源容器,但是Docker 实际上是一个开源的应用容器引擎。Docker是一个基于轻量级虚拟化技术的容器,整个项目基于Go语言开发,并采用了Apache 2

    2024年04月16日
    浏览(60)
  • 为什么要用虚拟 DOM?

    虚拟DOM(Virtual DOM)是一种将应用程序的状态(state)与DOM分离的技术。它是一个JavaScript对象,它的结构类似于实际DOM元素的结构。使用虚拟DOM的目的是在减少DOM操作的数量的同时,提高应用程序的性能和响应速度。 当应用程序的状态发生变化时,使用虚拟DOM可以计算出需要

    2024年02月01日
    浏览(48)
  • 低代码是什么意思?企业为什么要用低代码平台?

    低代码是什么意思?企业为什么要用低代码平台? 这两个问题似乎困扰了很多人,总有粉丝跟小简抱怨, 一天到晚念叨低代码,倒是来个人解释清楚啊! 来了,这次一文让你全明白。 在此之前,先了解什么是云计算。 “云” :指的就是互联网,因为之前互联网(Internet)

    2024年02月07日
    浏览(58)
  • 2023-06-03:redis中pipeline有什么好处,为什么要用 pipeline?

    2023-06-03:redis中pipeline有什么好处,为什么要用 pipeline? 答案2023-06-03: Redis客户端执行一条命令通常包括以下四个阶段: 1.发送命令:客户端将要执行的命令发送到Redis服务器。 2.命令排队:Redis服务器将收到的命令放入队列中,按照先进先出(FIFO)的原则等待执行。 3.命令

    2024年02月07日
    浏览(43)
  • bash脚本if语句比较为什么要用x

    如下进行PCIe设备的检测和计数,并执行重启操作的例子代码: 在给定的代码片段中,使用 x 是为了避免在比较时出现空字符串的问题。这是一种常见的技巧,用于确保比较操作的准确性。 在这个特定的语句中, x${devIDFunc0} 是用来检查变量 devIDFunc0 是否为空字符串。通过在变

    2024年02月08日
    浏览(54)
  • 在Vue中动态引入图片为什么要用require

    静态资源和动态资源 静态资源 动态的添加src 动态资源 我们通过网络请求从后端获取的资源 动态的添加src会被当成静态资源 动态的添加src最终会被打包成: 动态的添加图片最会会被编译成一个静态的字符串,然后再浏览器运行中会去项目中查找这个资源, 静态资源编译 默

    2024年02月13日
    浏览(52)
  • 为什么爬虫要用高匿代理IP?高匿代理IP有什么优点

    只要搜代理IP,度娘就能给我们跳出很多品牌的推广,比如我们青果网路的。 正如你所看到的,我们厂商很多宣传用词都会用到高匿这2字。 这是为什么呢?高匿IP有那么重要吗? 这就需要我们从HTTP代理应用最多最广的:爬虫数据采集来说。 爬虫数据采集的时候,非常容易遇

    2024年02月12日
    浏览(52)
  • facebook多账号运营为什么要用静态住宅ip代理?

    在进行Facebook群控时,ip地址的管理是非常重要的,因为Facebook通常会检测ip地址的使用情况,如果发现有异常的使用行为,比如从同一个ip地址频繁进行登录、发布内容或者在短时间内进行大量的活动等等,就会视为垃圾邮件或者恶意行为,导致账户被禁用或者限制。 因此,

    2024年02月21日
    浏览(49)
  • 模型\视图一般步骤:为什么经常要用“选择模型”QItemSelectionModel?

                                                              一、“使用视图”一般的步骤: //1. 创建  模型(这里是数据模型!) tabModel = new QSqlTableModel ( this , DB ); // 数据表 //2. 设置  视图 的 模型(这里是数据模型!) ui - tableView - setModel ( tabModel ); 模

    2024年01月22日
    浏览(57)
  • 机器学习分类,损失函数中为什么要用Log,机器学习的应用

    目录 损失函数中为什么要用Log 为什么对数可以将乘法转化为加法? 机器学习(Machine Learning) 机器学习的分类 监督学习 无监督学习 强化学习 机器学习的应用 应用举例:猫狗分类 1. 现实问题抽象为数学问题 2. 数据准备 3. 选择模型 4. 模型训练及评估 5.预测结果 推荐阅读

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包