前文在代码中进行中文命名(类/变量/方法等)的优势已小结了一些,此文是因为某回复说用全中文命名不一定比中英混合短,于是用那个回答下的例子作了下比较:

注:此文并不仅针对此回复,仅用此例作引

findBy客户编号And交易账号And基金代码OrderBy发生日期Asc    // 这是原例程(非本人作者)
通过客户编号交易账号和基金代码查找并按发生日期升序排列        // 源自该回复
findByCustomerIdAndTransactionAccountAndFundIdOrderByOccurredDateAsc   // 改写为英文

可见,至少此例中,全中文的仍然比中英混合的要短,即使英文已经用了缩写 Asc(ascending)。当然如果全英文命名的就更长的多。(虽然此例并非如此,但的确有些时候全中文不一定更短)

随着业务逻辑的复杂度增加,标识符长度往往在逐渐变长,读写都更加困难。像上面的原例程中那样沿用中文文档(前文 开发中文 API 的一些策略 2.2也提到)中的术语(“基金代码”等等)就非常恰当。中文术语往往比英文的简短,无需赘言。

但是,长中文命名毕竟意味着断句更加困难。上面的例子中,如果标识符能够带有标点的话,比如:

通过客户编号、交易账号、基金代码查找,并按发生日期升序排列

将会接近自然语言许多,也好读一些。

常用的英文编程语言中,标识符不允许标点,个人认为一个原因是英文的特性使然。因为英文自然语言使用空格分隔词语,标识符中需要将空格去掉以避免语法歧义,单词已经“粘在了一起“,再加进标点的话(即使语法分析能够搞定),难免觉得别扭,比如上面的:

findByCustomerId,TransactionAccount,FundIdOrder,ByOccurredDateAsc

而中文自然语言本身不用空格分词,加入标点毫无违和感。

带着这种美好的憧憬,在 Java 下尝试了一下,可惜好像所有中文符号都无法用于命名。

不过,Python 有个惊喜:

尝试的中文标点中,只有这个”·“(反单引号)可用于标识符命名。不过至少多了个选择,可以让长命名更可读一些。

再说开去,中文编程时,大可以跳出英文命名的思维定势。比如在设计中文编程语言时,不妨就可以考虑是否支持、支持哪些标点使用于标识符。

也可以重新考虑是否需要沿用流行英文编程语言中的标点用法。比如这里提到的,对象.方法中的句点对于英文来说也许是必需的分隔,但对中文来说就未必。

d3.js中点可以用图片吗_拿什么拯救你,长英文命名——用中文(也许标点也可以)试试...相关推荐

  1. d3.js中点可以用图片吗_结论第16课——抛物线的中点弦斜率

    秒杀结论: 中点弦斜率="左右 除 ,上下 除 " 注意要加上抛物线开口方向所确定的符号: 开口向右和向上的,符号为正 开口向左和向下的,符号为负 原理: 例.点 是抛物线 上两点 ...

  2. d3.js html显示图片,d3.js v4:如何在鼠标点击节点后显示图像

    在使用d3.js时仍然相当缺乏经验,我碰到了一个障碍. 希望有人能帮助我.d3.js v4:如何在鼠标点击节点后显示图像 我试图在鼠标单击图形中的节点时显示图片. 理想情况下,我想单击几个节点并显示图 ...

  3. 摘自人民网体育频道的JS卷角翻转方块图片切换_网页代码站(www.webdm.cn)

    1 <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...

  4. 【项目技术点总结之一】vue集成d3.js利用svg加载图片实现缩放拖拽功能

    [项目技术点总结之一]vue集成d3.js利用svg加载图片实现缩放拖拽功能 前言 概述 技术介绍 实现过程 插件安装 引用组件 初始化组件 实现效果 简单理解 使用d3创建一个svg 在svg中提添 ...

  5. d3.js图表_如何使用D3.js建立历史价格图表

    d3.js图表 逐步可视化财务数据集的方法 (A step by step approach towards visualizing financial datasets) It is a chall ...

  6. js大屏导出图片_超大图片全屏动态展示js插件

    intense-images是一款非常实用的超大图片全屏动态展示js插件.该图片查看插件可以全屏显示超大图片,可以使用鼠标来和图片进行交互,上下左右移动鼠标会相应的移动图片,对于超大图片的展示是非常好 ...

  7. d3.js折线图_学习使用D3.js创建折线图

    d3.js折线图 by Sohaib Nehal 通过Sohaib Nehal 学习使用D3.js创建折线图 (Learn to create a line chart using D3.js) 使用 ...

  8. 10款js图片代码_图片滚动代码_图片切换代码_图片特效代码_图片轮播代码(三)

    jquery banner滑块导航条幻灯片轮播图片滚动 jQuery blockSlide插件熔岩灯标签导航banner焦点图片切换 jquery图片冒泡插件鼠标悬停图片冒泡动画展示 jquery h ...

  9. JS 轮播图 图片切换(定时器)

    标题JS 轮播图 图片切换(定时器) 这次的轮播图与上次的图片切换相比,仅仅是加上了定时器,使其可以自动切换. 上次的图片切换的链接:https://blog.csdn.net/qq_38318589 ...

  10. 3、Spark 和 D3.js 分析航班大数据

    实验资源 1998.csv airports.csv 实验环境 VMware Workstation Ubuntu 16.04 spark-2.4.5 scala-2.12.10 实验内容 " ...

最新文章

  1. java跨函数跳转_C语言中将绝对地址转换为函数指针以及跳转到内存指定位置处执行的技巧...
  2. c语言怎么将n个数字存入到数组中_洛谷 || 拼数(C语言)
  3. android 绑定端口号,android 获取IP端口号等地址
  4. composer 报 zlib_decode(): data error
  5. 电子计算机的应用是第四次信息技术革命,造纸术和印刷术的发明和应用第四次电报.PPT...
  6. Qt编写大数据大屏UI电子看板系统
  7. 玩转Git三剑客01:Git基础
  8. 解决miner.start() 返回null
  9. 如何通过ngnix将网站访问改为https
  10. 兼容标准的CSV文件读写类
  11. 微信公众号 获取推送消息
  12. 20191004每日一句
  13. android 获取签名的md5值,获取Android MD5签名
  14. dcdc升压计算器excel_DC-DC电路计算器app下载|DC-DC电路计算器安卓版下载_v1.0.1_9ht安卓下载...
  15. 二建 机电工程常用材料及工程设备
  16. 《 C语言程序设计(第2版)》 读书笔记
  17. AI作画:文心一格赋能艺术与设计创作
  18. 关于内存泄漏和内存溢出
  19. 筑基期第一式:SpringMVC源码解析
  20. 淘宝/天猫API开发流程

热门文章

  1. wireshark协议
  2. Linux shell脚本基础学习(上)
  3. 12.docker inspect
  4. 8.Linux 高性能服务器编程 --- 高性能服务器程序框架
  5. 2.swoole 安装
  6. 27.crontab
  7. 22. 用户身份切换用户的特殊 shell与 PAM模块
  8. 横向时间轴(进度条)
  9. GM8284DD(GM8284DR)LVDS转TTL芯片功能汇总及设计注意事项
  10. accp8.0转换教材第4章MySQL高级查询(二)理解与练习