花括号提不提行?

以前写 JavaScript 的时候,主流的风格是花括号不提行:

1
2
3
4
function unlerp(a, b, t) {
assert(b > a);
return (t - a) / (b - a);
}

早期的时候 Unity 文档里使用 C# 时花括号也不提行。
但是 C# 的主流风格是花括号要提行:

1
2
3
4
5
6
public static class LayerManager
{
public static readonly int Player = LayerMask.NameToLayer("Player");

public static readonly LayerMask PlayerMask = 1 << Player;
}

由于我有时写 JavaScript,有时写 C#, 所以就干脆都不提行了,统一风格。
于是我写 C# 就会像是这样:

1
2
3
4
5
6
7
8
9
10
public void TogglePlacingState() {
bool shouldSettingPosition = !IsPlacing;
if (shouldSettingPosition) {
ghostObject.SetActive(true);
StartUpdatePosition();
} else {
StopUpdatePosition();
ghostObject.SetActive(false);
}
}

但是现在越来越多的人写 C# 时花括号要提行了。
我自己虽然喜欢不提行,但总是需要跟别人合作的,还是有必要改变一下:

1
2
3
4
5
6
7
public static class LayerManager
{
public static readonly int Player = LayerMask.NameToLayer("Player");

public static readonly LayerMask PlayerMask = 1 << Player;
}

其实花括号只是一个例子,其他一些代码风格也可能有所不同。例如 JavaScript 的函数名流行小驼峰命名法,而 C# 流行大驼峰命名法。

不同的编程语言有不同的语言特性和代码风格,即使需要同时使用多种编程语言,也不应该使用自己最习惯的同一种风格,而应该入乡随俗地根据各自语言的 style guide 来进行编码,而这也没有想象中那么麻烦。

《极乐迪斯科》中文化 瓦里欧制造系列
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×