遵循1TBS(OTBS)缩进风格时,类定义的左大括号应置于何处?
关于1TBS风格类定义大括号位置的疑问与解答
问题背景
我已查阅维基百科上的Indentation style条目,但内容表述不够清晰。
关于K&R style,条目说明如下:
每个函数的左大括号位于下一行,与函数头缩进级别相同
不过,函数内的多行代码块,其左大括号与对应的控制语句位于同一行
关于1TBS (OTBS) style,条目仅说明:
函数的左大括号位于同一行,以空格分隔
该条目完全未提及类定义的相关规则,但Java style有相关说明:
不仅函数内的代码块,类或方法声明的左大括号也位于同一行
我的问题是:若遵循1TBS风格,类定义的左大括号应放置在何处?
我已进行大量搜索(更倾向于立即获取答案,而非提问后长时间等待),但未找到结果。
解答
1TBS(OTBS)风格的核心规则是所有代码块的左大括号都紧跟在对应的声明语句同一行,这其中就包括类定义。
作为K&R风格的变种,1TBS统一了所有大括号的位置规则——不管是函数、类,还是if/for等控制语句的代码块,左大括号都和声明放在同一行,用空格分隔。比如类定义的标准写法示例:
class Example { // 类成员与方法 };
或者在Java等语言中:
public class Example { private String name; public Example(String name) { this.name = name; } }
虽然维基百科的条目未明确提及类的规则,但从1TBS的设计逻辑来看,它就是要消除K&R中函数与控制语句大括号位置的差异,实现所有大括号位置的统一,因此类定义的大括号自然也遵循同一行的规则。
内容的提问来源于stack exchange,提问作者Míng
相关产品推荐
相关产品推荐

