民國年月日(YYYMMDD格式) 運算工具

選擇以日期字串格式記錄資料時,最大的困擾是輸入異常時,難以自動識別是純粹輸入錯誤,還是其它問題。

例如,若以同一個check函式驗證輸入「10511」,並自動解析格式,可能會認為是「YYYMM」;但其實也可能是撰寫業務邏輯/頁面元件時,忘記對「105 01 01」資料的月日部分補0而產出的錯誤內容。所以UDE將處理「YYYMMDD」、「YYYMM」、「YYY」三種格式的工具類別分開撰寫,即YYYMMDDUtils、YYYMMUtils 跟 YYYUtils。

專案記錄日期字串格式資料時,若允許存入異常資料,往往會造成後續處理上的困擾。所以此類格式工具遇到日期輸入錯誤的一致準則如下:

  • 用於驗證的函式回傳boolean;
  • 用於轉換格式輸出的函式保留異常資料,以供比對追查;
  • 但大多數通則為抛出執行期例外,若資料來源為使用者輸入時,設計/開發者應該先以check()函式驗證格式正確性;若資料來源為轉檔,應設計異常資料反饋機制,告知使用者應人工介入處理。

TODO 後續版本有考慮可設定輸入表示式為 YYYMMDD 或 YYY/MM/DD 或 YYY-MM-DD。 或兼容支援?

results matching ""

    No results matching ""