大伙儿平时走亲戚串门,是不是也跟我一样,有时候脑子会突然短路?特别是家里亲戚一多,七大姑八大姨的,哪个该喊经常是一时半会儿反应不过来。场面一度非常尴尬,恨不得找个地缝钻进去!尤其是过年过节,那简直是大型认亲考试现场。
为啥会想到做这个?
就因为这事儿,我去年可真是出了糗。去一个远房表叔家拜年,进门一堆人,我直接蒙圈,对着一位长辈“”了半天,还是我妈在旁边小声提醒才解了围。回来之后我就琢磨,这不行,咱也不能老指望我妈当“随身翻译”?我这人平时也爱瞎捣鼓点东西,就寻思着,能不能自己弄个小玩意儿,帮自己也帮大伙儿解决这个“开口难”的问题。
我也在网上搜了搜,确实有一些类似的小程序或者App。有的功能挺全,但操作起来感觉有点绕,界面花里胡哨的,找个按钮都费劲。有的,又太简单了,稍微复杂一点的关系就算不出来,或者有些我们老家那边的叫法,它根本就不认。总觉得用起来不是那么得劲儿。
自己动手,丰衣足食
得了,求人不如求己,干脆自己动手做一个!我当时就想,我这个“亲戚称呼计算器”,起码得满足几个基本需求:
- 得能选我自个儿是男是女。这点老重要了,毕竟称呼对方,跟咱自己的性别关系大着。
- 然后,输入关系得方便。最好是那种点点点的,比如“爸爸 的 妈妈 的 哥哥”,这么一步步选,别搞太复杂。要是能直接打字输入“我爸爸的妈妈的哥哥”,那就更好了。
- 最重要的,当然是能快速算出结果。输完了,一点“等于号”,称呼立马就得蹦出来。
- 对了,还得能反过来查。就是说,我知道对方是谁,我想知道对方该怎么称呼我。这个功能也挺实用的。
实践过程那点事儿
说干就干!第一步是收集关系数据。我把家里的族谱(虽然也没多正式)翻出来研究,又缠着我爸妈,姥姥姥爷问了个遍,把常见的、不常见的亲戚关系都给梳理了一遍。好家伙,不整理不知道,一整理吓一跳,这亲戚关系网真是比蜘蛛网还密,光是“姑、姨、舅、叔、伯”这一辈,再往上往下延伸,头都大了。
接下来就是琢磨怎么让机器“理解”这些关系。我一开始想得简单,就用一堆“如果…那么…”的判断。比如,如果输入“爸爸的妈妈”,那么输出“奶奶”。但关系一多,这种方法就太笨了,条件分支能写到天昏地暗。后来我换了个思路,把每个基础关系,比如“父”、“母”、“兄”、“姐”、“子”、“女”等等,都看成一个节点,然后通过这些节点的连接来推算最终的称呼。比如“爸爸的妈妈”,就是从“我”出发,先找到“爸爸”这个节点,再从“爸爸”节点找到他的“妈妈”节点,然后输出对应的称呼。
用户界面这块儿,我力求简洁明了。就放了“爸爸”、“妈妈”、“哥哥”、“姐姐”、“弟弟”、“妹妹”、“儿子”、“女儿”、“丈夫”、“妻子”这些最常用的按钮。用户可以连续点击,比如点了“妈妈”,再点“哥哥”,就代表“妈妈的哥哥”。中间还得有个切换按钮,用来选择“我称呼对方”还是“对方称呼我”。性别选择也放在显眼的位置。
开发过程中,磕磕绊绊是少不了的。最大的难题就是各种特殊情况和地域差异。比如,有些称呼在北方和南方就不一样,有的地方叫“姥姥”,有的地方叫“外婆”。还有些比较复杂的,比如涉及到几代姻亲关系的,那逻辑写起来真是烧脑。我记得为了一个“堂表亲”的准确区分,还有“从母关系”和“从父关系”的细微差别,我熬了好几个晚上,查了不少资料,也请教了一些长辈,反复修改和测试代码逻辑。
比如,输入“妈妈的姐姐的儿子”,计算器得知道,这是“姨妈”家的孩子,如果我跟他是同辈,那就得根据年龄判断是“表哥”还是“表弟”。性别选择在这里就派上用场了,如果我是男性,对方称呼我可能就是“表舅”,如果我是女性,对方称呼我可能就是“表姨”。
测试和使用感受
基本功能做出来后,我就开始找“小白鼠”测试了。先是我自己,把七大姑八大姨的关系都输进去试了一遍。然后让我爸妈也来试试,让他们输入一些他们那辈儿的亲戚关系。遇到算得不对或者有疑问的,赶紧记录下来,再回去改程序。就这么来来回回折腾了好几遍。
记得有一次,我输入“老公的姐姐的女儿”,一开始程序算出来的是“甥女”,后来发现不对,应该是“外甥女”才对,因为是从妻子的角度算的。这种小细节特别多,得一点点抠。
现在这个“亲戚称呼计算器”虽然还不完美,比如没法完全覆盖所有地区的方言叫法,太偏太远的关系可能还是会出错,但应付日常的称呼需求,基本上是够用了。今年春节回家,我就靠着它,腰杆都直了不少!遇到不太确定的亲戚,偷偷在手机上点几下,心里就有底了,再也不怕喊错人,那种感觉,真挺爽的。
这回实践还是挺有成就感的。从遇到问题,到自己动手想办法解决,再到最终做出来一个能用的小工具,这个过程本身就很有意思。也让我对中国复杂的亲戚关系有了更深的理解。分享出来,也是希望给那些跟我一样有“称呼恐惧症”的朋友们一点小小的启发。以后再遇到认亲难题,没准就能从容应对了!工具是死的,人是活的,最重要的还是那份亲情嘛
标签: