原标题:中英文代码对比之 Python 冒泡排序算法

以前提到过中文命名在业务部分的优势大于算法部分, 很多用来证明英文命名更优的例子里也用算法例程来显示英文单字母变量名的"简洁". 这里用一个简单的冒泡算法来推敲中文命名.

注: 本文不讨论输入效率问题. 想吐槽拼音要输入两三个字母英文只要一个的请走好不送.

下面是简单的Python代码, 实现了冒泡排序:

python中如何对中文排序 python 中文排序_Python

第一眼看去, 在嵌套循环中使用i和j的一个问题是, 两者看起来有点像. 改成中文后, 视觉区分度更大:

python中如何对中文排序 python 中文排序_Python_02

同样一个汉字也可以赋予变量名以更多语义, 来凸显变量的某些性质, 如下. 而英文命名想要表达类似语义就要长一些了:

python中如何对中文排序 python 中文排序_python中如何对中文排序_03

后感

中文命名很自然是个考验中文修养的活. 用中文命名的代码可以像天书一样"仅仅是符号", 也可以像好文章一样用词考究恰如其分, 当然更多的(包括在下写的)限于功力或者开发时间限制也许只能达到流水账的水平.

哪里用中文最有效果(对可读性增强最大), 哪里是鸡肋(比如上面的a, 可以改名为"数组", 但效果逊一些, 也许更合适放在注释中), 也与程序的目的/设计/理解非常相关.

相比数理能力, 更大量的编程任务更需要的是逻辑与思辨能力, 这种任务的比重只会越来越大. 而逻辑思辨能力是文理相通的. 与编程相配套的文档编写和阅读也更偏文, 团队建设/客户交流之类软实力更不用说. 相信随着IT产业的逐渐成熟, 文科背景的开发者将会越来越多, 长远看这肯定是好事.返回搜狐,查看更多