gpt4 book ai didi

objective-c - 在 Obj-C 方法声明中不放置任何空格的约定是如何产生的?

转载 作者:太空狗 更新时间:2023-10-30 03:52:19 24 4
gpt4 key购买 nike

方法声明中没有空格是如何成为约定俗成的?

-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath

似乎每个人都这样做,我看到的 90% 的例子,生成的模板,其他人的代码等等。我怀疑这只是另一个 vi/emacs 意识形态的东西,但想知道是否有 K&R这种行为的“根本原因”。

我,我喜欢很多空白:

- (UITableViewCell*) tableView: (UITableView*) tableView
cellForRowAtIndexPath: (NSIndexPath*) indexPath

这对我来说似乎好多了。

最佳答案

我知道很多代码风格需要习惯才能更容易理解。在这种情况下,我认为 Apple 的语法更多地反射(reflect)了一种思维过程,而不是一种编码风格,而不仅仅是个人喜好。

当我第一次开始使用 Objective-C 时,我也有同样的担忧。在一长串代码中查看没有空格可能会造成混淆。但是,一旦您对语法有了更好的感觉,您就会注意到即使在您的示例中也有空格。它用于将函数名称的段与前面的参数分开。一旦你在那里,就可以更容易地挑选出函数的每个部分及其参数。左边是函数名段,右边是参数,重复。

起初我做了你所列的 - 一切后的空间。然而,这最终几乎和没有空格一样糟糕。由于到处都是空格,它们变得毫无意义。接下来,我尝试在冒号和参数之后放置空格,但这似乎也不正确——函数名称和参数在某些情况下开始变得困惑。我尝试了一些其他的空白样式,最终几乎完全使用苹果的标准。我现在唯一不同的是返回类型——我更喜欢在 + 或 - 之后有一个空格,在返回类型之后有一个空格。即使那也没什么大不了的,主要是个人喜好而不是任何特定的困难。 (我有很深的 C/C++ 背景,希望能够一眼看出返回类型。)

如果你坚持下去,你会突然发现自己喜欢 apple 胜过其他。 =)

关于objective-c - 在 Obj-C 方法声明中不放置任何空格的约定是如何产生的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3992793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com