命名这件事
计算机科学只存在两个难题:缓存失效和命名。
当我们的宝宝越来越大时,取名这件事情,就愈加紧急了,老婆多次催促我取名,可她不知道,我即将要解决的这个问题,正是计算机科学界都公认的一大难题,哪有这么容易。
即使这么难,还是得取,首先,规划下需求——给孩子取名。
拆分需求:
不重复或尽量少重复 好听 老婆喜欢
这个需求的难度可见一斑。
在开发阶段,我们要先对需求做架构设计,首先,我们想要一个三个字的名字,这样可以尽量降低重复的概率,虽然字数越多,重复概率越小,但是为了宝宝以后不被当作非主流,我们还是确定了一点——三个字。
既然把范围缩小到了三个字,这件事突然就好办多了,特别是这三个字,第一个字已经确定了——徐,而宝宝的小名叫安安,可以说,后面两个字中,至少有一个字也已经确定了,这就意味着,我只需要在8万多个汉字,3000多个常用字中,再选择一个字出来就可以了!
当然,小名中的字也不一定非要出现在大名中,所以,工作量还是很大的
这样一看,这个需求好像瞬间就简单了?
不行,也不能掉以轻心,毕竟是跟随孩子一辈子的名字,不能草率。要么先抄抄别人的作业吧。
首先,名字不能太随意吧,二狗、大熊,这样的,不用说了,带谐音的,一陀、慧飞、德翔,什么的,更不用说了。这些都需要作为checklist,在取名后利用输入法跑一次检查,避免出现很奇怪的谐音梗。
作为一个资深Android开发者,我首先想到的名字——徐安卓、徐卓安,竟然有那么一点好听?但是为了避免以后有人说,垃圾Android,这个名字还是算了吧,毕竟也不知道Android还能不能撑到那个时候了。
当然,为了让孩子赢在起跑线上,在名字不失个性的同时,也得让名字写的更快一点,「徐一」这种挺好,但是...还是算了。
另外,还要考虑下重名问题,很多网红名字总是扎堆出现,就好像现在的梓洋、梓晴、梓轩、子轩、紫萱,雨桐、雨彤、语桐、浩宇、浩然、浩轩,为了避免以后一叫一大片的尴尬,重名检测是必须要做的,还好上海发布公众号里面有个新生儿重名检测功能,这个第三方库,极大的减少了我的工作量。
这样第一步就做好了,只不过我没想到写了这么多年代码,这次是第一次先写测试用例。
突然感觉自己好像被Google风格附体了,10行代码,100行单测。
下面就要开始想具体的字了,听说最近特别流行古风,一大堆特别古风味儿的名字充满了各种抖音号,例如这样的:清芷、依灵、未曦等等等,好多不记得了,这些名字听上去确实特别有味道,有那么一瞬间,我也心动了,但是好在理性让我冷静了下来,这些名字,小时候确实挺好听的,但是试想一下,当宝宝老了,再叫这些名字,怎么感觉这么奇怪呢?就好像叫一个白发大妈小甜甜一样,怎么想怎么有些违和。
还听说现在特别喜欢取名搭配诗句,听上去特别有文化,例如子沐——正人君子,如沐春风,谨辰——瑾瑜美玉,良辰相伴,这样的也太多了,看了很多都不记得了,直到我看到下面这个评论,大肠——大大方方,荡气回肠,让我实在无法再直视这些名字。
除了上面的原因外,这些名字被自媒体抄的太严重了也是一个问题,以后别人问起我的孩子,你的名字是怎么取的呀?总不能说,我这名字是当年抖音爆款,我这名字是2020网红流行款吧。
经过一个多月各种思想的碰撞,最终敲定了大概20个名字,再经过前面的两轮checklist,最终剩下下面这些。
「沐」系列——沐佳、慕佳、沐嘉、沐之
「安」系列——佑安、安言、安羽、安若、安恬、瑞安、芮安、安禾
「佳」系列——佳沫、佳若
最终的获胜者——徐瑞安,顺便帮孩子把英文名也取好了——Ryan。
无它,唯好听尔。