为什么他需要竖向对齐代码,而你不需要
在Terence Eden的博客里,最近有一篇文章是讨论竖向对齐代码问题的:为什么我要竖向对齐程序代码(你也应该这样做)。
其中,它指出,”不好”的代码格式是这样的:
而经过“纠正”,代码看起来是这样样子的:
出于学习,我在我的代码编辑器里敲入了他的例子:
很显然,因为我使用的是一款具有语法高亮功能的编辑器,数字是绿色的,跟其它代码的颜色反差很明显。这样的效果中,我很容易在这些绿色的数字中发现其中有异常的数字。
同样,使用合适的字体,会使得驼峰式书写风格的变量名非常的明显好认;相反,下划线式的命名方式使得屏幕上的代码密度变低,字体变小。
我的代码编辑器还使用了语法高亮功能来强调字距。比如,操作符两边的字距比普通的字距要大很多,这样更容易让人识别。同样,空格符要比普通的字符宽出50%,也是同样的作用。
在Terence的文章里,我想他遗漏了一个常见的问题,我通常会把变量按变量名的字母顺序排列,这样能够避免重复的定义。对于版本合并冲突问题,有一个很好的方法能解决中间新增变量行问题。
编程原子
我想最大的问题来自我们的编程的最小原子是以行为单位的。
看看下面的这个例子,它也是来自Terence的博客,这次是一个函数声明:
extern int SomeDemoCode(int fred, int wilma);
如果我们给这个函数增加一个参数,注意参数两边多出的空白:
extern int SomeDemoCode(int fred, + int barney, int wilma);
diff比较工具将这个函数拆成了3行,这里的合并成功只是个巧合,diff并不知道,这三行中的任何一行单拉出来都不成立。
如果把三行代码放在一行,合并起来会变成这样:
-extern int SomeDemoCode(int fred, int wilma); +extern int SomeDemoCode(int fred, int barney, int wilma);
长话短说,使用空白控制代码的呈现是70年代的产物,找一个更好的代码编辑器吧。
你也许感兴趣的:
- 【译文】id Software的创始人 John Carmack 谈内联代码(Inlined Code)
- [外文翻译]100%正确的编码风格指导
- 为什么我要竖向对齐程序代码(你也应该这样做)
- CSS编写指导规范和建议
- 具有魔法的 H.264
- 多用户环境中的 rootless Docker
- 【外评】微软的人工智能聊天机器人将 “回忆 “您在其新 PC 上所做的一切
- 【外评】苹果需要解释重新出现已删除照片的错误
- 你需要知道的现代 CSS 技巧(2024 年春季版)
- 使用 :has() 作为 CSS 父选择器及其他更多内容
良好的代码风格不应该依赖于编辑器!编辑器只是辅助,而并不是任何时候你都可以访问到强大的编辑器。
只能说这个作者在程序员这个圈子里面,还是太嫩了。
Emacs对齐默认用tab,单丝最后还是被改成了空白对齐。
WHY?为了让不同的人使用的不同编辑器看到的内容都是一样的格式!