这边想请问各位前辈系统维护上常常遇到的一个问题
就是程式中的变量或是资料表字段命名的"变更"
我不确定是不是一开始我的设计的想法就错了
通常我在设计时,会将使用者的操作"画面"与系统中的命名尽量保持一致,
讨论起来比较有共通的语言,尤其是在一些专有名词的字段命名上。
Ex: 客人提到要记录XXXX No.,字段或是变量的名字就会是xxxx_no
作者:
NDark (溺于黑暗)
2021-08-13 01:45:00visual studio 可以全部改名. 如果你是要这个得话.
作者:
netburst (133 134 592)
2021-08-13 01:54:00map
作者:
ZakuSIN (SIN)
2021-08-13 01:54:00数据库名称要修改不是挂个维护更新就好了? 不难吧
作者:
ZakuSIN (SIN)
2021-08-13 01:58:00你要设计的是人 不是程式
domain driven design 看一下 统一语言的重要性id跟no调换的需求听起来就很有问题 你怎么能保证id是连续递增的
作者:
Hsins (翔)
2021-08-13 02:32:00一开始就不应该为了配合 XXXX No. 而把字段或变量命名成 xxxx_no
id可以换no? 这通常是key值,你该电的是user
作者:
rahit (水元素)
2021-08-13 09:06:00你们客户的程式不是写中文吗…我也觉得i18n改掉就好新成员教育一下就好
改显示名称为什么要改数据库字段名啊?通常显示名称都写死在前端,或是用一个字段另外存这样要改名时改那个字段就好了
作者:
wulouise (在线上!=在电脑前)
2021-08-13 12:02:00多国语系本来就是分开的,客户说字串就去查多国语系
把 id 弄给使用者知道往往就会有这些狗屎事情发生
作者:
ssccg (23)
2021-08-13 12:59:00id和no调换这种事永远不该发生,发生了代表你一开始做错在你第一次听到XXX No.时,你就该确定这是那个domain通用的名词还是只是那个人的习惯说法,这个XXX No.实际指的东西是什么性质,你是对domain设计不是在帮特定人拉数据库
作者:
IamTD (TD)
2021-08-13 15:01:00上面说的对,字段名称应该是针对 domain 来命名前端要显示成什么名称,是另外的事情,你把它弄成同件事情才会有现在的困扰
简而言之,设计不够抽象,你反而将实作绑死在UI上,这就是你犯错的地方。
画面显示完全跟DB不会有关联阿简单说你用同样DB 可以刻出完全不同接口的前端所以前端怎么取名怎么会被资料字段影响呢
不可能系统整天随着变更名称的需求,就一起进行变量或字段名称修正 确实是这样 但你的案例不只是改个名字 两个字段都对调了 你不觉得这就反应了后端没有正确消化domain的知识?你又何必一定要抱着设计错误的数据库dchema
作者:
wulouise (在线上!=在电脑前)
2021-08-14 11:38:00NO跟ID显示就应该是字串,为什么跟数据库有关
作者:
Abbee (阿比)
2021-08-14 12:26:00改显示名也不会差到天南地北呀,所以变量字段不用改
我猜数据库关联没设计好,照理说你要有一个 系统ID再来才是客户要求的ID,之后客户有什么需求就不会动
两个字段Label互换,但资料却不用互换,不是你搞错就是客户弄错,你搞错的话让新人抱怨一下也就认了,客户搞错的话就笑笑就好,反正改天可能又有各种理由要改回来
作者:
jennya (Jennya)
2021-08-15 03:25:00推原PO,这问题蛮有趣的。能否更详细的描述一下xxx_no和xxx_id所储存的内容和格式是什么、以及后来决议调换的理由是什么?我觉得这个问题的详细细节可以帮助讨论,因为这样两个变量名称完全调换的例子真的蛮少见XD
作者:
overhead (overhead)
2021-08-19 16:43:00推楼上。这题不是单纯一般更名,而是显现一开始的设计有问题,整个系统没有清晰理解id no的定义。