作者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/cn.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