代码风格是个很关人性的东西。
对于一个变量的命名,如果名字不是很好,对其他人来说,那是很不人道的。其他人在第一次看到这个命名不清晰的变量,得花一些时间来揣测这个变量到底是何方神圣,这种事情做多了,难免会偶尔失控抓狂。
而且较少文档,拿到的文档,也只是一些系统架构上的说明和规划。
我妈妈不知道我的同事很厉害,当然也不知道最近我正被如下这种精简的
代码风格所折磨:
- 没有注释,下面的初始化还好啦,在其他地方,有些涉及业务,比如选择一个xx的逻辑,一堆
if xx1; if xx2; if xx3
,也都是没有注释。答疑时该同事也曾经卡住:我ca当时我为什么要这么写 - 从命名上看不出这是一个全局变量,比如下面例子的
fcslist
数组,就是一个全局变量 - 多个变量名简短、且命名类似,比如
sip, s_ip, isp
...
...
t_ip_info ipinfo;
char buf[2048] = {0x0};
while (fgets(buf, sizeof(buf), fp))
{
char *t = strrchr(buf, '\n');
if (t)
*t = 0x0;
memset(&ipinfo, 0, sizeof(ipinfo));
snprintf(ipinfo.sip, sizeof(ipinfo.sip), "%s", buf);
uint32_t ip = get_uint32_ip(ipinfo.sip, ipinfo.s_ip);
if (ip == INADDR_NONE)
{
LOG(glogfd, LOG_ERROR, "err ip %s\n", ipinfo.sip);
continue;
}
ipinfo.isp = isp;
ipinfo.archive_isp = isp;
ipinfo.role = ROLE_FCS;
fcslist[atoi(ipinfo.sip+3)%MAXFCS] = isp;
ipinfo.ip = ip;
add_ip_info(&ipinfo);
LOG(glogfd, LOG_NORMAL, "ip %s %s\n", ipinfo.sip, ipinfo.s_ip);
}
...
...
交接时,同事问我,你还有什么问题吗?
我好想说,我语文不好,理解力差,可以在代码上加上一些注释吗?
– EOF –