1992年日本对母语编程的可读性比较实验

简介: 日本1992以来对在代码中使用母语对可读性的影响的研究. Research since 1992 in Japan about how programming in Japanese impacts code readability.

这是发现的最早一篇: CiNii 論文 - 母国語プログラミングへの方式,実践とその効果​

pdf不能导出文本, 不会日语输入法, 因此论文其他部分意义仅靠猜. 请会日语的指正.

主要看如下几个图, 大概推测是使用了A, B两份同样语义的代码, 每份都有英日两个版本(不确定如何保证英日版本的可读性同样好?):

A_日, A_英, B_日, B_英

由不同的母语为日语的被试者阅读两份代码后(第一组阅读了A_日和B_英, 第二组阅读了A_英和B_日), 还回答了相关问题. 柱形图好像只比较了代码阅读时间, 不确定"回答时间"是否有用.

最后的结果, 代码阅读时间上, 平均值母语版本是英语版本的2/3左右, 方差要小很多. 个人认为方差体现了被试者的英语水平比母语水平相差更大, 而均值体现了母语版本的可读性较好. 希望会日语的翻译一下论文中原作者的结论.
2019_02_14_japanese___
2019_02_14_japanese___1
2019_02_14_japanese___2

后续相关文章见最后. 比较不解的是中间为何有20年的空档, 不过期间有诸如なでしこ(见前文日语编程语言"抚子" - 第三版特色初探)等日语编程语言的产生

可以看到, 最近几年的文章已经不再关注代码可读性本身, 而是开始对日语编程的辅助工具(如辅助代码输入的IDE插件)进行研究, 个人推测是由于母语代码可读性的优势在日本学术界已不需再验证, 一个最可能的原因是日语命名已是业界常用实践. 这也印证了之前听说的(印象里有至少四五年前的帖子提到)外包业中一些日本软件公司使用日语命名.

2019-02-14

相关文章
差异基因分析:fold change(差异倍数), P-value(差异的显著性)
差异基因分析:fold change(差异倍数), P-value(差异的显著性)
4303 0
差异基因分析:fold change(差异倍数), P-value(差异的显著性)
|
2月前
|
存储 机器学习/深度学习 算法
订单拆单合并处理接口设计与实现
本文介绍电商系统中订单拆单与合并接口的设计与实现,涵盖核心功能、RESTful API设计、Python伪代码示例及性能优化。通过规则驱动的拆分(如按仓库)和合并(如同地址聚合),提升配送效率,降低运营成本,适用于多仓储、高并发场景,助力开发者高效构建订单处理系统。(239字)
296 0
|
3月前
|
传感器 人工智能 安全
物联网
万物互联,智启未来。物联网通过连接人、物、环境,重塑生活、城市与产业。从智能家居到智慧城市,从工业互联网到精准农业,数据驱动智能化变革。融合AI、5G等技术,构建高效、安全、可持续的智能世界,开启人类社会新篇章。(238字)
|
开发工具
vim命令编辑完文件后,按ESC键退出编辑模式,无法进入命令模式解决方案
vim命令编辑完文件后,按ESC键退出编辑模式,无法进入命令模式解决方案
1346 0
|
存储 人工智能 API
GCP 上的人工智能实用指南:第三、四部分
GCP 上的人工智能实用指南:第三、四部分
312 1
|
算法 安全 数据安全/隐私保护
C/C++学习 -- 分组密算法(3DES算法)
C/C++学习 -- 分组密算法(3DES算法)
494 0
|
存储 Python
Matplotlib在图形中添加注释
如果没有注释,我们很难让其他人明白图中的点、线究竟代表着什么,有什么样的含义,Matplotlib提供了大量对图形进行注释的方法,利用这些注释使统计图变得通俗易懂。
1844 0
Matplotlib在图形中添加注释
|
Web App开发 Linux vr&ar
Linux中Chrome无界模式动态代理IP的配置(Selenium)
Linux中Chrome无界模式动态代理IP的配置(Selenium)
1027 0