程序的编写风格(代码格式)可以随心所欲
2010-11-25 ~ 2020-2-26
(0)
很多文章都阐述了编写程序时“代码格式”的重要性,甚至还有些硬性的规定。当然,这篇文章并不是否定格式的重要性,初学者甚至应该十分注重格式才对。
但是另一方面,编写程序还应该注重整体,通过代码格式展现出整体的结构。这里举一个例子,CodeBus 网站有一个模拟屏保变幻线的源代码:
https://codebus.cn/zhaoh/post/screensaver-mystify
其中有几行代码是很长的,并且违反了很多条“代码格式”的规定,这里转过来这几行:
// 判断顶点是否越界
if (m_head->pos.x < 0) { m_head->pos.x = -m_head->pos.x; m_step.x = rand() % MAXSTEP + 1; }
else if (m_head->pos.x >= WIDTH) { m_head->pos.x -= m_head->pos.x - WIDTH + 1; m_step.x = -rand() % MAXSTEP - 1; }
if (m_head->pos.y < 0) { m_head->pos.y = -m_head->pos.y; m_step.y = rand() % MAXSTEP + 1; }
else if (m_head->pos.y >= HEIGHT) { m_head->pos.y -= m_head->pos.y - HEIGHT + 1; m_step.y = -rand() % MAXSTEP - 1; }
如果按照标准格式来编写,应该是这样的:
// 判断顶点是否越界
if (m_head->pos.x < 0)
{
m_head->pos.x = -m_head->pos.x;
m_step.x = rand() % MAXSTEP + 1;
}
else if (m_head->pos.x >= WIDTH)
{
m_head->pos.x -= m_head->pos.x - WIDTH + 1;
m_step.x = -rand() % MAXSTEP - 1;
}
if (m_head->pos.y < 0)
{
m_head->pos.y = -m_head->pos.y;
m_step.y = rand() % MAXSTEP + 1;
}
else if (m_head->pos.y >= HEIGHT)
{
m_head->pos.y -= m_head->pos.y - HEIGHT + 1;
m_step.y = -rand() % MAXSTEP - 1;
}
现在请大家比较一下这两段代码,看看哪个更清晰?不仅如此,再点开原文的链接看看源代码,将两者分别替换入原文再看看哪个更清晰?
毫无疑问,是前者更清晰,前者不仅明确显示出几行代码的异同,还很整齐的体现出在全文中这几行所起的作用。
这就是我想说的“随心所欲”的代码编写风格。语言的表述程度有限,还望仔细体会。
添加评论
取消回复