這邊想請問各位前輩系統維護上常常遇到的一個問題
就是程式中的變數或是資料表欄位命名的"變更"
我不確定是不是一開始我的設計的想法就錯了
通常我在設計時,會將使用者的操作"畫面"與系統中的命名盡量保持一致,
討論起來比較有共通的語言,尤其是在一些專有名詞的欄位命名上。
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的定義。