作为一个编程新手,在软件目录中常常会看到这几个词,尤其 config 、 setting 翻译成中文区别不是很大,总让人有点区分不了他们的使用场景。在知乎上看到了关于这个问题的讨论觉得受益挺大的,自己总结了一下各位大佬的回答
问题链接:
config、option、setting这三者在程序世界里是什么区别?
首先是*哥的神回答:
Configure some options in the settings.
作者:vczh
链接:https://www.zhihu.com/question/39827177/answer/83301475
来源:知乎
从字面意义来说Config和Setting有点类似。
Config一般是配置,Setting一般是设置。
其实差不了多少。但硬要区分的话,Config更容易联想为给开发人员使用的,用来避免一些Hard Code的可参数化的设定。
Setting更偏向于使用者或者运维人员使用的设定。比如设置一个端口号,IP地址类似的。而Option是选项的意思。比如我们设置Socket的时候可以选同步或者异步的模式。
如何管理?
比如http://ASP.NET Core里面的Sample就不错。你可以指定多个Settings例如
appsetting.json, appsetting.Development.json
appsettings.Prodution.json。可以很好的解决版本库的管理问题。在使用上我喜欢定义一个config类。然后将配置文件在系统启动的时候或者第一次使用它的时候加载到(反序列化)到这个类的对象。用起来就很方便啦。
作者:苏佳
链接:https://www.zhihu.com/question/39827177/answer/83301475
来源:知乎