我从小就写 C 风格的代码,有点像这样:
sub testing() { say("Hello, world"); }
尽管最近为了可读性我一直这样做:
sub testing() { say("Hello, world"); }
这些是唯一对我来说看起来不错的支架布局,尽管我很欣赏它是主观的。如果你的项目风格指南说我应该在我认为看起来很尴尬的地方缩进括号,我仍然会遵守。
不过,我提出这一点是因为我出于怀旧之情正在完成一些旧作业,并记得一位讲师坚持要求我们提交代码的这种真正被诅咒的风格:
sub testing { say("Hello, world"); }
您没看错,您的浏览器并未破坏或更改格式。我记得第一次看到他的演讲幻灯片时就想……等等,什么?
以选项卡开头的原因是多行仍会排队:
sub testing { say("Hello, world"); &someMethod(); }
我的意思是,它有效。我的画笔也连接在旧的吸尘器管上,并配有手柄。我不会推荐它。
从审美上来说,这是一团糟。开头的制表符意味着括号之间的间距不平衡,除非您还记得在右括号之前添加一个制表符。这位讲师因此扣分。优雅的、功能性的代码如果能被很好地呈现出来,就会很漂亮。不是这个啊,队长!
但情况变得更糟。假设我想在打印语句上方添加一个新行。在任何其他括号布局中,您只需添加该行即可。但你不能在这里,因为第一行也有左括号!我不小心这样做的次数让我发疯:
sub testing &methodToInsert("Whoops!"); { print("Hello, world"); }
它让我想起用编号行将代码插入 8 位 BASIC。教授将 Java 和 C++ 变成了 BASIC。极好的!
最近我又有点怀念大学时光了。但我不会错过这个。这太糟糕了。
作者: Ruben Schade ,悉尼,2025 年 1 月 20 日。