首页 游戏任务 正文

sigi到底是什么意思?一篇文章带你快速了解!

我最近撞上了一堵墙,是那种老项目遗留下来的,没人愿意碰的烂摊子。我们公司接了个外包活,要给一套用了五年的老系统做数据迁移和接口重构。这套系统是前两年公司某个大神带着几个新人瞎搞出来的,文档写得跟天书似的,代码注释更是少得可怜。可客户那边催得紧,说数据结构不动,光改接口就成。我想着改接口嘛不就是查查字段,理清逻辑,小菜一碟。

结果,我第一天就懵了。

我在翻那个核心数据表的定义时,发现了一堆奇奇怪怪的字段名,像什么user_idorder_sn这些都正常,但其中有个关键字段,用来标记数据质量等级的,简简单单写着一个:sigi_level。我一看,这啥玩意儿?拼音?缩写?

我一开始是怎么折腾的?

我当时的第一反应是,这肯定是系统内部的缩写,直接问带我项目的同事肯定能知道。结果我把组里的人挨个问了个遍,所有人都是一脸茫然,都说:“没见过,可能是上古时期的代码。”

sigi到底是什么意思?一篇文章带你快速了解!

这下我头大了。数据质量等级是核心逻辑,没有这个定义,我后面的数据清洗和迁移根本没法动。我就开始了我的“考古”之旅。

第一步:我搜遍了互联网。

我当时输入了“sigi是什么”、“sigi level 含义”等等,能想到的组合都试了一遍。结果搜出来一堆跟西格(Sigi)相关的外国名字、游戏角色的名字,甚至还有某个不知名小镇的旅游信息,就是没有跟数据、编程或者我们这个行业相关的任何解释。我当时就骂了一句,这帮写代码的,取名字能不能稍微规范点?

第二步:我翻了所有能找到的文档。

我把项目文件夹里所有写着“文档”的文件都挖了出来,包括需求分析、设计规范、甚至还有几份当初的会议纪要。我用文件内搜索功能,把“sigi”这个词输进去,结果竟然一个匹配都没有。这说明这个术语根本就没有被写进正式文档里,它就是个内部流传的“黑话”。

我当时已经有点崩溃了。总不能为了一个缩写耽误整个项目进度?

找到那个“上古大神”是唯一的出路

没办法,我只能采取最原始的办法——人肉定位。

我把那份老代码的提交记录翻了出来,找到了五年前第一次添加这个sigi_level字段的那个提交者。记录显示,那人叫老王(化名),是当初的主程之一。问题是,老王两年前就离职了,据说自己跑去创业了,公司里没人有他的联系方式,或者说,没人愿意给我。

我当时就想,这不行,我得把人挖出来。我跑去翻了公司老系统的通讯录,又去各种技术群里蹲守,通过一个已经跳槽的前同事,要到了老王的私人微信。

我加上老王微信,简单说明了我的来意。老王回复得很快,他当时正在开会,但听我描述了那个字段,他笑了一下,发了一串语音过来。

老王的原话大概是这样的:

“,你说那个,我都忘了!当时我们做这块数据质量校验,内部讨论的时候觉得叫Quality Index太长了,就随口取了个缩写。那个sigi,就是Standardized Grading Index(标准化分级指标)的拼音缩写,我们当时为了方便,把英文发音近似的Standardized Grading取了拼音首字母,凑出了sigi。”

我当时听完,愣了好几秒。不是英文缩写,不是专业名词,就是几个程序员为了偷懒,自己拼出来的拼音首字母组合!而且这东西压根儿没写进任何文档里。

sigi到底是什么意思?

有了这个内部“黑话”的定义,我赶紧返回代码和数据库。一切就对上了。

实践记录与

  • sigi在我们的老系统里,是Standardized Grading Index(标准化分级指标)的非正式简称。
  • 它用来标记数据从源头采集到入库过程中,经过了多少层校验和清洗。
  • sigi_level的数值越高,代表数据清洗和标准化程度越高。

我随后在老王的指导下,迅速确认了不同sigi_level对应的数据状态,比如1是原始数据,5是经过所有校验和清洗后的最高质量数据。我把这些关键信息赶紧整理出来,做成了新的文档,并立刻投入到了数据迁移中。

这回实践告诉我一个道理:有时候困住你的,不是什么高深的技术理论,而是几个程序员随手搞出来的“自嗨”缩写。花了整整两天时间,我终于把这团麻线理清了。希望我这篇实践记录,能帮到那些未来也可能在某些老项目里,撞见这种奇葩缩写的人。

以后要是再遇到这种查不到的字段名,别硬刚,赶紧去找最早写代码的那个人,这是最快最有效的办法!

本文转载自互联网,如有侵权,联系删除

相关推荐