作者zombiesky (殭屍)
看板Soft_Job
標題[請益] 什麼樣的參數適合放進config
時間Fri Jun 23 13:28:12 2017
小弟有個小問題想要請教一下各位大大,
最近發現有同事喜歡把各種參數都放進一個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://webptt.com/m.aspx?n=bbs/Soft_Job/M.1498195694.A.787.html
1F:推 final01: 看是啥東西啊!你們開發者連評估能力都沒有? 06/23 13:34
現在就是因為兩個人的評估標準不一致所以想聽聽大家的經驗
2F:→ airtsubasa: 當客戶端不能有IDE,又不想寫GUI改SETTING 06/23 13:39
如果這個SETTING以這隻程式而言是不會因為不同的客戶端而要不同設定也要嘛?
3F:→ ssccg: config有的是使用者能改的,有的要例如工程模式才能改,這 06/23 13:47
4F:→ ssccg: 不是很正常嗎? 本來就可能分多個config檔 06/23 13:47
5F:→ ssccg: 只要程式出去還可能改的,都適合放到config 06/23 13:48
※ 編輯: zombiesky (122.116.150.224), 06/23/2017 13:51:11
6F:推 abc0922001: 定config也不錯,才不會出現魔術數字 06/23 13:55
7F:→ abc0922001: 例如3*2,誰到3代表什麼,2代表什麼 06/23 13:55
8F:→ abc0922001: 誰知道 06/23 13:56
9F:推 WisdomOrLie: 不該再動的設定檔為何要從外部吃進去?? 06/23 14:08
以這個例子, 未來如果要串另外一個RS232的裝置要串, 可以直接拿這隻程式去測試...
10F:→ dreamnook: 需要線上修改的東西就放 改錯壞事還有原版檔案可還原 06/23 14:18
※ 編輯: zombiesky (122.116.150.224), 06/23/2017 14:29:04
11F:推 Dnight: config就是要線上給使用者自己開的東西啊 06/23 14:29
12F:→ Dnight: 害怕風險你可以把這東西從xml吃改成從db吃 06/23 14:30
13F:→ Dnight: 做個ui讓使用者可以改db設定黨的值 06/23 14:30
14F:推 WisdomOrLie: 測試歸測試 量產歸量產 release的fw不應該承擔這種 06/23 14:36
15F:→ WisdomOrLie: 風險 06/23 14:36
16F:→ WisdomOrLie: 平常幫hw debug就夠塞了 萬一有issue回來 等於還多 06/23 14:37
17F:→ WisdomOrLie: 一條要檢查 兩權相害取其輕阿 06/23 14:38
18F:推 yfr: 基本上不想重build 重開就能換的放config 06/23 17:38
19F:→ yfr: 不想重開的話直接重撈就要改的放資料庫 06/23 17:39
20F:→ yfr: 當然其他特殊需求不在此限 有時候就是會想要動態load config 06/23 17:40
21F:推 Jichang: 先寫預設值 參數可以 override 先不要公布 property key 06/23 18:33
22F:→ pttworld: default一個,user一個。 06/23 19:48
23F:→ y3k: 改了不會造成異常的參數阿... 有些改了根本就會動不了的參數 06/23 20:06
24F:→ y3k: 放到constants就行了吧 06/23 20:06
25F:→ ckvir: 以目前他拉的這些就算使用者亂改也沒差 06/23 22:03
26F:推 aj1371017: 我們密碼都讓user看的到(抬頭 06/23 23:57
27F:推 ice791020: 9600 8N1 是常見uart選項 你可以比對看看第三方程式 06/24 00:53
28F:→ ice791020: 的設計 例如coolterm,teraterm 都是有給user配置的 06/24 00:54
29F:推 cyber9270: 除非有自動偵測baudrate,不然就要確認軟體可維護性, 06/24 13:36
30F:→ cyber9270: 擔心config被修改存binary或壓縮檔設密碼即可 06/24 13:36
31F:噓 pttuser: 放config有啥不行,有問題的是修改權限,你們要定出可以 06/24 15:39
32F:→ pttuser: 權限來讓user可修改,還是supervisor可修改 06/24 15:39
33F:噓 pttuser: 推文跑掉,簡言之就是要定出permission層級決定誰能修改 06/24 15:42
34F:→ pttuser: ,是你們remote debug能還是客戶能,怎麼擋?安全性?等 06/24 15:42
35F:→ pttuser: 這些問題 06/24 15:42
36F:→ doranako: 你不適合軟體 06/25 00:50
37F:推 stosto: 這沒絕對 06/25 12:51
38F:推 yudofu: 你的問題是如何讓沒有權限的使用者去修改config檔,不是要 06/28 11:24
39F:→ yudofu: 不要用config檔 06/28 11:24