客戶編號與訂單編號的設計邏輯

http://stackoverflow.com/questions/178572/what-is-the-best-format-for-a-customer-number-order-number

翻修一篇很久以前的 bookmark.. updated on 2024-04-16

開發系統很常碰到需要自行設計編號的需求,stackoverflow 上這篇提供了一些建議。

我自己的經驗來說,編號會包含以下資訊:

  1. prefix,兩碼或三碼前綴。可以直覺辨識這是個系統或哪個用途的編號
  2. timestamp,時間戳。這有很多變化型,例如年份、季度、月份,除了可以簡單看出是否是很舊或近期的資料外,也有一點避免 data collision 的功能
  3. separator,分隔符號。例如短橫線 -,分隔符號在寫入資料庫時是不必要,但做為閱讀或溝通上是方便的,像是將電話寫成 02-3343-7855
  4. serial,序號。序號不是必要的,主要是避免 data collision,但序號設計要考慮是否被外人推算出數量,例如一天的訂單總量可能被競爭對手算出
  5. checksum,檢碼。在編號的最後放個檢碼做簡單校驗之用

其他則是避免放入會變動的資訊,例如出貨地區,假設出貨地點在高雄,編碼 07,顧客若更改出貨至台南 06,就會造成單號上的資訊與實際不相符的情況。

再附上一篇近期看到的好文
The UX of UUIDs | Unkey


Posted

in

,

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *