在编程中使用中文到底该不该??

看到知乎上有个热门问题,为什么很多人反对中文在编程中的使用?

这个问题有几百万的浏览热度,其中排名第一的回答非常简洁,我深以为然:

在国内做开发,用中文写注释、写文档,是非常好的习惯,因为太缺优秀的中文文档了,目之所及很多框架都没有完整的中文文档。

除此之外,其他形式用中文硬替代英文的编程行为,都有点化简为繁、舍易求难的味道。

包括但不限于,用中文变量名、用中文解释关键字、用中文字段名、用中文文件名和路径等等。

为什么呢?编程中使用中文会造成一些不必要的困扰和错误。

首先,编程语言本身是英文的,很多关键词用英文表达更准确,已经是约定俗称的东西

比如Python中的return,凡是学过编程的见名知义,return将函数中的结果返回给调用者。

如果要把return翻译成中文:返回、返回值、送回、给出…总觉得言不及义

而且不同人有不同的中文翻译方式,会增加沟通和理解的成本。

其次,在编程中使用中文可能会导致错误,比如编码错误、不兼容等

有些人习惯用中文写文件名和路径,当你在代码中读取文件的时候,很有可能出现编码错误。

还有在数据库中使用中文字段,这也会导致编码错误和不兼容的问题,其次对于数据库的维护也是极不方便的。

虽然现在很多语言和数据库都支持Unicode字符集,允许中文做变量、字段,但是为了避免不必要的错误,实在不建议用。

最后,编程不光给自己看,还要方便其他开发者阅读,除了文档和注释外,最好不要用添加中文,方便团队里人阅读和维护

总得来说,还是要老老实实遵循编程规范,只做对的事。

谷歌有个编程规范文档,对C++、Python、Javascript等各种编程语言都做了详细说明,大家没事可以看看

以Python为例,有语言规范和风格规范,语言规范包括各种函数、模块、方法的规范

风格规范包括对注释、缩进、行宽等进行了规范

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/295630.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kitex 提供的服务注册与发现 etcd 拓展

📕作者简介: 过去日记,致力于Java、GoLang,Rust等多种编程语言,热爱技术,喜欢游戏的博主。 📘相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看 📙Jav…

python批量转化pdf图片为jpg图片

1.把pdf图片批量转为jpg;需要注意的是,需要先安装poppler这个软件,具体安装教程放在下面代码中了 2.代码 #poppler安装教程参考:https://blog.csdn.net/wy01415/article/details/110257130 #windows上poppler下载链接&#xff1a…

5G PLMN相关概念

PLMN PLMN(Public Land Mobile Network,公用陆地移动网络),是由政府或其批准的经营者为公众提供陆地移动通信业务而建立、经营的网络。PLMN与公众交换电话网(PSTN)互连,形成整个地区或国家规模…

mysql锁表问题

问题描述 偶尔应用日志会打印锁表超时回滚 org.springframework.dao.CannotAcquireLockException: ### Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transactionmysql锁…

【SQL Server】1. 认识+使用

1. 创建数据库的默认存储路径 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft SQL Server 2008 R2 当我们选择删除数据库时,对应路径下的文件也就删除了 2. 导入导出数据工具的路径 3. 注册数据库遇到的问题 ??? 目前的问题就是服务器新建…

应急响应实战笔记04Windows实战篇(5)

第5篇:挖矿病毒(一) 0x00 前言 ​ 随着虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一。病毒传播者可以利用个人电脑或服务器进行挖矿,具体现象为电脑CPU占用率高,C盘可使用空间…

【Web】记录Polar靶场<中等>难度题一遍过(全)

目录 到底给不给flag呢 写shell 注入 某函数的复仇 xxe SSTI unpickle BlackMagic 反序列化 找找shell 再来ping一波啊 wu 代码审计1 你的马呢? ezphp 随机值 phpurl search file PlayGame csdn 反正持续一个月,感觉XYCTF…

2024五大招聘趋势

2024年的招聘趋势梳理了五个关键趋势:AI驱动的招聘技术的兴起、自动化的重要性、向候选人为中心的招聘转变、招聘者外联的增加个性化,以及重视基于技能的招聘。尽管经济存在不确定性,但预计对AI用于招聘的投资将继续增长,大力强调…

数据结构——栈(C语言版)

前言: 在学习完数据结构顺序表和链表之后,其实我们就可以做很多事情了,后面的栈和队列,其实就是对前面的顺序表和链表的灵活运用,今天我们就来学习一下栈的原理和应用。 准备工作:本人习惯将文件放在test.c…

ubuntu22.04@Jetson Orin Nano安装配置VNC服务端

ubuntu22.04Jetson Orin Nano安装&配置VNC服务端 1. 源由2. 环境3. VNC安装Step 1: update and install xserver-xorg-video-dummyStep 2: Create config for dummy virtual displayStep3: Add the following contents in xorg.conf.dummyStep 4: Update /etc/X11/xorg.con…

WPF-基础及进阶扩展合集(持续更新)

目录 一、基础 1、GridSplitter分割线 2、x:static访问资源文件 3、wpf触发器 4、添加xaml资源文件 5、Convert转换器 6、多路绑定与多路转换器 二、进阶扩展 1、HierarchicalDataTemplate 2、XmlDataProvider从外部文件获取源 3、TextBox在CellTemplate中的焦点问题…

Python基础之pandas:文件读取与数据处理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、文件读取1.以pd.read_csv()为例:2.数据查看 二、数据离散化、排序1.pd.cut()离散化,以按范围加标签为例2. pd.qcut()实现离散化3.排序4.…

stream使用

stream流式计算 在Java1.8之前还没有stream流式算法的时候&#xff0c;我们要是在一个放有多个User对象的list集合中&#xff0c;将每个User对象的主键ID取出&#xff0c;组合成一个新的集合&#xff0c;首先想到的肯定是遍历&#xff0c;如下&#xff1a; List<Long> u…

通过pymysql读取数据库中表格并保存到excel(实用篇)

本篇文章是通过pymysql将本地数据库中的指定表格保存到excel的操作。 这里我们假设本地已经安装了对应的数据库管理工具&#xff0c;里面有一个指定的表格&#xff0c;现在通过python程序&#xff0c;通过调用pymysql进行读取并保存到excel中。 关于数据库管理工具是Navicat P…

Android Studio学习7——常用控件view

Android控件 双击shift键——>搜索想要找的文件 Ctrlshift回车——>补全“&#xff1b;”号 CtrlX——>删除一行&#xff0c;只需把鼠标放在那一行 windows自带字体

LC 111.二叉树的最小深度

111. 二叉树的最小深度 给定一个二叉树&#xff0c;找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明&#xff1a; 叶子节点是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a; root [3,9,20,null,null,15,7] 输出&#xff1a;…

mongodb的简单操作

文章目录 前言数据库的创建和删除集合的创建和删除文档的插入和查询异常处理更新数据局部修改符合条件的批量更新加操作 删除文档删除全部数据删除符合条件的数据 统计count统计有多少条数据统计特定条件有多少条数据 分页查询排序查询正则查询比较查询包含查询条件连接查询索引…

Docker 哲学 - push 本机镜像 到 dockerhub

注意事项&#xff1a; 1、 登录 docker 账号 docker login 2、docker images 查看本地镜像 3、注意的是 push镜像时 镜像的tag 需要与 dockerhub的用户名保持一致 eg&#xff1a;本地镜像 express:1 直接 docker push express:1 无法成功 原因docker不能识别 push到哪里 …

轻松上手 Tanssi:应用链开发与部署终极指南

随着 Polkadot 2.0 的推进&#xff0c;一个既强大又用户友好的技术支撑成为推动生态进步的关键&#xff0c;目的是为了降低应用链启动的成本和复杂度。在这个转折点上&#xff0c;Tanssi 逐渐成为应用链开发的首选解决方案。Tanssi 是一个旨在简化应用链部署流程的模块化基础设…

kubernetes-Pod基于污点、容忍度、亲和性的多种调度策略(二)

Pod调度策略 一.污点-Taint二.容忍度-Tolerations三.Pod常见状态和重启策略1.Pod常见状态2.Pod的重启策略2.1测试Always重启策略2.2测试Never重启策略2.3测试OnFailure重启策略&#xff08;生产环境中常用&#xff09; 一.污点-Taint 在 Kubernetes 中&#xff0c;污点&#x…