[請益] 什麼樣的參數適合放進config

看板Soft_Job作者 (殭屍)時間7年前 (2017/06/23 13:28), 7年前編輯推噓10(12225)
留言39則, 19人參與, 最新討論串1/1
小弟有個小問題想要請教一下各位大大, 最近發現有同事喜歡把各種參數都放進一個xml作為config, 他的說法是這樣佈署出去以後要調整很方便, 以這次的例子是一個RS232的串接, 他把以下幾個參數都放到xml裡面管理, 1. Network Speed : 9600 bps 2. Hardware Flow Control : none 3. Character : 8 bits 4. Parity : 0 bit 5. Stop : 1 bit 我認為這些參數都是基於要整合的那個設備而固定的, 沒有必要拉到config裡面管理, 硬拉出來反而增加了萬一使用者去修改以後導致程式異常的風險, 最後的折衷是不讓使用者修改的設定會另外拉一個config並且加密 但想請問一下各位大大所在的公司, 有針對什麼樣的東西適合放進config什麼樣的東西不適合嘛? 總覺得這樣的東西很沒必要也增加未來維護的麻煩和風險... 以上, 感謝大大看完, 希望大家能給我一些意見, 到底是我潔癖太嚴重還是...Orz -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.150.224 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1498195694.A.787.html

06/23 13:34, , 1F
看是啥東西啊!你們開發者連評估能力都沒有?
06/23 13:34, 1F
現在就是因為兩個人的評估標準不一致所以想聽聽大家的經驗

06/23 13:39, , 2F
當客戶端不能有IDE,又不想寫GUI改SETTING
06/23 13:39, 2F
如果這個SETTING以這隻程式而言是不會因為不同的客戶端而要不同設定也要嘛?

06/23 13:47, , 3F
config有的是使用者能改的,有的要例如工程模式才能改,這
06/23 13:47, 3F

06/23 13:47, , 4F
不是很正常嗎? 本來就可能分多個config檔
06/23 13:47, 4F

06/23 13:48, , 5F
只要程式出去還可能改的,都適合放到config
06/23 13:48, 5F
※ 編輯: zombiesky (122.116.150.224), 06/23/2017 13:51:11

06/23 13:55, , 6F
定config也不錯,才不會出現魔術數字
06/23 13:55, 6F

06/23 13:55, , 7F
例如3*2,誰到3代表什麼,2代表什麼
06/23 13:55, 7F

06/23 13:56, , 8F
誰知道
06/23 13:56, 8F

06/23 14:08, , 9F
不該再動的設定檔為何要從外部吃進去??
06/23 14:08, 9F
以這個例子, 未來如果要串另外一個RS232的裝置要串, 可以直接拿這隻程式去測試...

06/23 14:18, , 10F
需要線上修改的東西就放 改錯壞事還有原版檔案可還原
06/23 14:18, 10F
※ 編輯: zombiesky (122.116.150.224), 06/23/2017 14:29:04

06/23 14:29, , 11F
config就是要線上給使用者自己開的東西啊
06/23 14:29, 11F

06/23 14:30, , 12F
害怕風險你可以把這東西從xml吃改成從db吃
06/23 14:30, 12F

06/23 14:30, , 13F
做個ui讓使用者可以改db設定黨的值
06/23 14:30, 13F

06/23 14:36, , 14F
測試歸測試 量產歸量產 release的fw不應該承擔這種
06/23 14:36, 14F

06/23 14:36, , 15F
風險
06/23 14:36, 15F

06/23 14:37, , 16F
平常幫hw debug就夠塞了 萬一有issue回來 等於還多
06/23 14:37, 16F

06/23 14:38, , 17F
一條要檢查 兩權相害取其輕阿
06/23 14:38, 17F

06/23 17:38, , 18F
基本上不想重build 重開就能換的放config
06/23 17:38, 18F

06/23 17:39, , 19F
不想重開的話直接重撈就要改的放資料庫
06/23 17:39, 19F

06/23 17:40, , 20F
當然其他特殊需求不在此限 有時候就是會想要動態load config
06/23 17:40, 20F

06/23 18:33, , 21F
先寫預設值 參數可以 override 先不要公布 property key
06/23 18:33, 21F

06/23 19:48, , 22F
default一個,user一個。
06/23 19:48, 22F

06/23 20:06, , 23F
改了不會造成異常的參數阿... 有些改了根本就會動不了的參數
06/23 20:06, 23F

06/23 20:06, , 24F
放到constants就行了吧
06/23 20:06, 24F

06/23 22:03, , 25F
以目前他拉的這些就算使用者亂改也沒差
06/23 22:03, 25F

06/23 23:57, , 26F
我們密碼都讓user看的到(抬頭
06/23 23:57, 26F

06/24 00:53, , 27F
9600 8N1 是常見uart選項 你可以比對看看第三方程式
06/24 00:53, 27F

06/24 00:54, , 28F
的設計 例如coolterm,teraterm 都是有給user配置的
06/24 00:54, 28F

06/24 13:36, , 29F
除非有自動偵測baudrate,不然就要確認軟體可維護性,
06/24 13:36, 29F

06/24 13:36, , 30F
擔心config被修改存binary或壓縮檔設密碼即可
06/24 13:36, 30F

06/24 15:39, , 31F
放config有啥不行,有問題的是修改權限,你們要定出可以
06/24 15:39, 31F

06/24 15:39, , 32F
權限來讓user可修改,還是supervisor可修改
06/24 15:39, 32F

06/24 15:42, , 33F
推文跑掉,簡言之就是要定出permission層級決定誰能修改
06/24 15:42, 33F

06/24 15:42, , 34F
,是你們remote debug能還是客戶能,怎麼擋?安全性?等
06/24 15:42, 34F

06/24 15:42, , 35F
這些問題
06/24 15:42, 35F

06/25 00:50, , 36F
你不適合軟體
06/25 00:50, 36F

06/25 12:51, , 37F
這沒絕對
06/25 12:51, 37F

06/28 11:24, , 38F
你的問題是如何讓沒有權限的使用者去修改config檔,不是要
06/28 11:24, 38F

06/28 11:24, , 39F
不要用config檔
06/28 11:24, 39F
文章代碼(AID): #1PJARkU7 (Soft_Job)