AdSense

網頁

2019/5/17

2019 某公司程式開發的問題 - 設定檔讀取設計

目前在某公司主程式的部分資料設定檔讀取方式的設計如下。

主程式(假設叫Main)執行時,必須讀取外部的設定資料並轉為對映類別的實例,又外部資料的企劃人員不懂程式,所以無法透過直接撰寫程式的方式來設定,因此目前的做法順序為:

在一個設計資料結構的專案(例如叫Structure)設計好對映的類別(假設類別名稱叫MyData)結構後,將該專案匯出為jar檔,例如叫做Structure.jar

有另一套桌面Java工具程式(簡稱Converter)可以將MyData類別結構轉成以Excel檔表示的結構,以及可將Excel檔轉為binary檔。Converter要透過Structure.jar讀取MyData,所以Structure.jar要放入Converter專案的lib目錄中。

Converter因為有了Structure.jar,所以可以匯出MyData對映的Excel,叫MyData.xlsx

企劃人員將數值填寫到MyData.xlsx

將填寫好的MyData.xlsx放回Converter專案的excel目錄

使用Converter將excel目錄中的MyData.xlsx轉成MyData.bin二位元檔。

MyData.bin放到Main專案的data目錄。

Main專案啟動時,便會載入MyData.bin的資料並轉回MyData類別的值。


整理一下流程

  • 在Structure專案設計MyData.java
  • 將Structure匯出為Structure.jar
  • 將Structure.jar放入Converter/lib
  • 使用Converter將MyData.java轉成MyData.xlsx
  • 請企劃人員填寫MyData.xlsx
  • 將MyData.xlsx放入Converter/excel
  • 使用Converter將MyData.xlsx轉為MyData.bin
  • 將MyData.bin放入Main/data

以上問題在於手動操作的步驟很多,而且每次改動MyData.java的結構就要走完以上來測試設定的資料是否跑出正確的結果。


MyData類別的結構中,其實就是一些子類別與MapList的組合。

若能改以json來設定的話會容易許多,MyData轉出及讀取json檔很容易也不需要額外工具,企劃人員直接填寫json檔。

問題是企劃人員填了那麼久的Excel檔,對改成填寫json檔會有抗拒。

沒有留言:

AdSense