人文角度看代码世界之术语

222 阅读6分钟
原文链接: zhuanlan.zhihu.com
世界上有10种人,有1种 人懂二进制,有10种人不懂二进制
—— 一个广为流传的关于代码世界的笑话

诚然,代码世界是主要是由代码构成的,但代码世界的一砖一瓦,哦不对是一0一1都是由人来构建的,人类社会演化了几千年,已然形成了许多背后的社会学现象,今天主要来通过人类社会里语言相关的现象来思考代码世界。

写在开头

人类社会交流用语言,代码世界沟通用术语,也许有同学说“难道不是用二进制数据沟通吗”,我这里“沟通”的主语是人(即开发者),所以不是二进制数。

同一场景术语的统一

那为什么是“术语”呢,这就要思考一个问题了,开发者之间交流沟通到底是在沟通什么?拿一个电商系统来说,先从名词说起,有用户、商家、客服、订单、商品、商品支持的服务、促销活动、客服通知、物流信息推送、首页、商品列表页、商品详情页、商家首页、商家货物分类页……动词有交易、发送消息、查看通知、添加购物车……这些词实在太多了有没有,我们要认知这些词必须得形成系统,名词直接按分类在脑袋中放好,各个动词放在相应名词之间的连接线上,只有这样才是一个合格的认知系统的方式。

等等有个问题,为什么前面叫客服通知后面叫物流信息推送?两者不都是某个文本在用户正在使用应用或已经退出应用的时候提醒用户查看的东西吗;前面是商品详情页后面是商家货物分类页?难道有的商家是提供运货服务的吗?emmm仔细几乎所有商家都是提供运货服务的,只不过实际操作者给物流公司了。

可以看到,一些细小的词语运用的差别,就会增加很多沟通成本,这种额外的沟通成本,在生活中其实经常遇到的,初来深圳的时候我不知河粉为何物,一日早晨去面馆店点了碗热干面,正要点时想起来自己在武汉的时候其实是更爱吃热干宽粉的,因为粉的表面积较大,可以蘸到更多的芝麻酱, 更加好吃,于是改口说自己想点热干宽粉,店家一听,说“没有宽粉,只有河粉”,当时我也眼拙,一看那河粉宽宽样子,心想那不就是宽粉么,抱着这样的想法后来就和店家稍有争辩,落得个不快。这种不快倒是让我想起了罗老师去星巴克点咖啡的桥段,甚是经典,也是对相同事物的不同定义导致的额外的沟通成本。

这种文字用语的一致性带给人的感觉,可以适用在许多方面,正如上一章提到的“人类社会”和“交流”,“代码世界”和“沟通”,到了下一章的第一句,却是“开发者”和“交流沟通”,这种细微的差别不知道你感觉到了没有,本来我这样设计,本义是想表达,主要突出凡事是和“代码世界”相关的都用“沟通”一词,然后这里的“交流沟通”是违背了这一设计初衷。但是写到这我又一分析发现,这里多出来的“交流”实际上是呼应了“开发者”(这一个“人类社会”的一员),而保留在其后的“沟通”则是表明当前我们仍然是在讨论“代码世界”的事情,倒也有理。

这样咬文嚼字难免会忽略整体而闹出笑话,好在汉语也大抵有近义词连用的表达方式。

不同层级术语的不同

同样的场景使用同样的术语,如同什么场合说什么话一样,会给人一种融入场景的和谐感,同时也能帮助刚到场的人快速融入场景。语言可以区分场景,同时也可以区分人,准确的说是区分人的阶层,在英文里面,就有一些词是上流阶层避免使用的(1)。比如“Pardon”,他们通常会用“What”作为代替,还有一个他们避免使用的词是“Toilet”,有点类似于我们的“厕所”乃至“茅厕”,通常会用“Loo”和“Lavatory”进行代替。

人类社会里有分层代码世界里也有分层,常见的Java Web中就有控制层、服务层、持久层,每个层有不同的分工和负责对象,同一个业务下来也应该不同描述,就拿最简单的用户注册这一行为来说,对于持久层自然是新增用户这样的一个简单的操作,而服务层不一样,它得对控制层负责,不仅只是告诉持久层该干什么,然后把干出来的结果给控制层这么简单,也就是得附带说明信息,类似于“数据插入失败”、“数据中手机号重复”等。控制层拿到执行的结果之后也得把信息换一种表达方式,“服务出现异常,请稍候再试”,“您的手机号已被注册,如需登录请点登录按钮”。

这样写的好处是编写这些返回信息的时候,程序员脑袋里面是清楚的,控制层、服务层、持久层,明确三者之间的表达方式,也就明确了三者之间的表达内容,才能明白三者的实际职责,才算是达到了运用好这样一个三层架构的合格程度。 我们沿着一个“山坡”去了解一个三层架构的理解角度,还有一个角度是从设计思想的角度来理解三层架构,即控制层是面向用户设计的,服务层是面向业务设计的,持久层是面向数据设计的。举一个反例,我就见过程序员写的控制层,它里面的每个API调用方法,都是直接执行服务层的方法然后直接返回的,也见过这种直接调用的现象大量出现服务层代码中的,更直接的表现就是函数名直接跟持久层对应的一样,出现一两个还好,多了就是问题了。

我这种过细的设计难免会被人诟病过于麻烦,还不是复杂,仅仅是麻烦,完全不会存在于如今快节奏的时代,但理想国,还是要建起来的。

权威的人才能定义术语

也许是未完待续,也许是等你的发散和补充,夜深了我先睡啦

引用

  1. 七大英国上流社会规避词
写于11月8日凌晨1点