程序员需要掌握哪些配置文件

284 阅读3分钟

在面对陌生开源软件时,编程新手不知所措,而编程老手则游刃有余。这是为什么呢?很可能是老手掌握各种格式配置文件。在学习使用时,只消耗少量能量分析配置文件语言结构,而有富余能量理解参数语义,配置参数数值。

掌握各种配置文件,与掌握各种飞机机型是一个道理。一个王牌飞行员,需要掌握歼-20、歼-16、歼-10C各种机型;一个游刃于开源世界的老手,需要掌握 ini、yaml、toml 等各种配置文件类型。

杜克大学英语系乔治•戈朋(George Gopen)教授提出的阅读能量模型,用来解释人们阅读句子时的能量消耗。

Et=句法能量+语义能量

Et 指总耗能。每个 Et 是固定的,因为人们在阅读句子时,受到大脑结构与时间制约,能够投入的大脑能量有限。句法能量指分析句子结构的耗能,语义能量指理解句子语义的耗能。如果你耗费大量句法能量,那么剩余少量语义能量。反之,消耗少量句法能量,就会剩余大量语义能量。

人们阅读的目的,显然不是为了分析句子结构,而是为了理解句子语义。因此,减少句法能量消耗,尤为重要。而实现这一点,需要两方面努力。一方面,作者应当用读者熟悉、期望的句子结构;另一方面,读者应当掌握大量的句子结构。

阅读能量模型,同样也是用于程序语言。

你可以用阅读能量模型,解释程序员阅读配置文件时的能量消耗。阅读配置文件时,需要消耗两方面能量:一方面,分析语言结构耗能;另一方面,理解参数语义耗能。前者对应句法能量,后者对应语义能量。

如果你不熟悉配置文件,那么你就需要消耗大量能量理解结构。倘若你熟悉配置文件,那么只消耗少量能量理解结构,更多能量用于理解语义。是否理解语义,决定你是否理解一款软件。

作为程序员,有必要掌握常用配置文件,以便在学习应用时,把能量留给理解语义、解决问题等重要事情上。有哪些常用配置文件呢?如下:

  • ini,通用格式配置文件

  • yaml,支持复杂数据结构和类型

  • properties,常用于 Java 的配置文件

  • toml,正式指定的配置文件格式

  • JSON,支持复杂数据结构和类型

  • HOCON,properties 和 JSON 的超集

以 ini 配置文件为例,看看其语言结构。以下是采用 ini 格式的 Mysql 配置文件:

[mysqld]
character-set-server=utf8
default-storage-engine=INNODB
basedir=D:/edrms/mysql-5.7.26-winx64
datadir=D:/edrms/mysql-5.7.26-winx64/data
port=3306
server_id=1

[mysqlxx]
# ....

在 ini 格式语言中,有两个要素:分段、键值对。比如,从[mysqld]一直往下,直到[mysqlxx]之前,都属于一个分段。分段的名称是mysqld,分段包含若干键值对。

除了以上类型的配置文件,你可能会遇到软件特定的配置文件。比如,Redis 配置文件格式如下:

bind 127.0.0.1
port 6379
timeout 0

这个时候,不用紧张。第一步,分析其语言结构,Redis 配置文件格式类似键值对。第二步,理解其语义。

参考: