给你个建议,是用字符串。哈。我的理由如下:
1、无论数字还是字符串,从应用角度都是“符号”,对应都有“值”。但字符串的表述形式更弹性,更易于面向业务需求。
2、数字唯一的优势是处理快,存储占用小。而这些是可通过扩大底层系统规模和优化处理方法来弥补的。
3、数字的缺点是值域和存储格式有关,使得你不得不兼顾考虑因为“溢出”导致的额外处理工作,这从系统设计角度是有问题的。额外处理工作是指,不与系统设计目标有关,且逻辑无法受到系统设计约束,导致系统设计的内在逻辑无法自洽。
哈,第三个观点,像shit一样晦涩,我简单说个例子。
1、一个公司需要在另外一个城市组织新团队,现有团队中,如果人人都是有家有口,无法长期出差的,那么会引发一堆家庭问题需要公司来协调,最终才能找到一个能在前期常驻新城市的人员来带队。 公司业务发展类似系统,而员工本身确实属于公司这个系统组成,但员工的家庭问题,是和这个系统无关的。公司的业务发展与运营和家庭的日常生活,没有逻辑关联,因此你无法通过公司发展的一些远期愿景来尝试修正员工家庭的生活轨迹。难道逼员工离婚。哈。这就是额外处理工作对系统设计带来的内在逻辑无法自洽。你会发现各种和企业发展无关的屁事,却作为企业具体开展工作的必要条件。
当然数字方式有自己的优势,上面也说过了。处理快,存储小。不过这个完全可以采用按存储特性进行二次处理的思路来优化。简单说,归档的数据和终端表现的数据仍然是字符串。而在系统内部,高频发生的数据处理工作的内容则转化成数字。在需要做编码调整时,对归档的数据重新调整并对系统类所有对应数据进行数字格式的调整,保证系统内数据的一致性。