作为一个编程新手,在软件目录中常常会看到这几个词,尤其 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
来源:知乎

config、option、setting辨析的更多相关文章

  1. haproxy [WARNING] 312/111530 (17395) : config : 'option forwardfor' ignored for frontend 'harbor_login' as it requires HTTP mode.

    1.经过调查, 2down voteaccepted x-forwarded-for is an HTTP header field, so has nothing to do with the tr ...

  2. ceph删除pool提示(you must first set the mon_allow_pool_delete config option to true)解决办法

    现象: 1.在mon节点打开/etc/ceph/ceph.conf,增加以下 2.重启ceph-mon systemctl restart ceph-mon.target 3.删除pool [root ...

  3. config system setting for elasticsearch

    1. disable swapping. swap 分区会导致garbage collections 花费太多时间,elasticsearch 响应变慢. 方法1:swapoff -a 方法2:vi ...

  4. GHOST CMS - 配置 Config

    Config For self-hosted Ghost users, a custom configuration file can be used to override Ghost's defa ...

  5. SAS Config文件 处理流程

    Processing Options Specified by Additional CONFIG Options You can also specify additional –CONFIG op ...

  6. Flask中的路由、实例化参数和config配置文件

    Flask中的路由 endpoint 别名不能重复,对应的视图函数,默认是视图函数名.endpoint 才是路由的核心.视图函数与路由的对应关系.可以通过url_for 反向创建url # metho ...

  7. postgresql:pgadmin函数调试工具安装过程

    通过安装第三方插件pldebugger,可实现在pgadmin客户端对函数设置断点.调试,具体过程如下: 1.下载pldebugger安装包:http://git.postgresql.org/git ...

  8. linux内核的makefile.txt讲解

    linux内核的linux-3.6.5\Documentation\kbuild\makefiles.txt Linux Kernel Makefiles This document describe ...

  9. Server Name Indication(SNI)

    转载自: http://openwares.net/misc/server_name_indication.html Server Name Indication是用来改善SSL(Secure Soc ...

随机推荐

  1. error: Apache shutdown unexpectedly.

    本地前端xmapp apache突然不能启动了, 报错 15:36:48 [Apache] Error: Apache shutdown unexpectedly.15:36:48 [Apache] ...

  2. Java快速学习笔记01

    这一波快速学习主要是应付校招笔面试用,功利性质不可避免. 学习网址: http://www.runoob.com/java/java-tutorial.html 执行命令解析: 以上我们使用了两个命令 ...

  3. Python中的一些小语法

    目录: 生成随机数 将一个字符串变为datetime类型,并且获取星期几 1.生成随机数 假设我们要操作的list如下: >>> import random >>> ...

  4. redhat5 设置静态ip

    Last login: Sat Oct 14 16:19:13 2017 # 进入ip凭证文件设置地方 [root@oracle ~]# cd /etc/sysconfig/network-scrip ...

  5. js闭包实例汇总

    本文是通过实例来帮助大家深刻理解js闭包,是篇非常不错的文章,这里推荐给大家,有需要的小伙伴可以参考下 Js闭包 闭包前要了解的知识 1. 函数作用域 (1).Js语言特殊之处在于函数内部可以直接读取 ...

  6. vue2的缓存问题(非原创)

    keep-alive是vue内置的一个组件,可以使被它包含的组件处于保留状态,或避免被重新渲染. 用法: 运行结果描述: input输入框内,路由切换输入框内部的内容不会发生改变. 常见的用法:(下图 ...

  7. MySQL CPU 使用率高的原因和解决方法

    用户在使用 MySQL 实例时,会遇到 CPU 使用率过高甚至达到 100% 的情况.本文将介绍造成该状况的常见原因以及解决方法,并通过 CPU 使用率为 100% 的典型场景,来分析引起该状况的原因 ...

  8. pyhon----模块导入

    正常情况 报错(两个导入都报错)

  9. 性能测试二十:环境部署之Tomcat多实例部署+日志监控

    一个tomcat性能有限,所以需要部署等多个tomcat 单实例部署与windows下类似,项目包放到webapp目录下,启动bin目录下的startup.sh即可启动命令:./startup.sh启 ...

  10. 使用Struts,实现简单的登录

    一.新建项目Struts 1.右键 new————Web Project 2.点击项目——右键——myeclipse——add Struts Capabilities.....——选择struts2. ...