3

假设我有一个长几行的声明:

NSString *urlString = @"http://www.example.com";
NSURL *url = [NSURL urlWithString:urlString];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];

像这样将它压缩成一行有什么好处吗?

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL urlWithString:@"http://www.example.com"]];
4

1 回答 1

4

单行版本的好处是您不必创建临时中间变量。如果您对这些中间变量没有其他用途,这将特别有用。在某些情况下,使用单线看起来更整洁,但在其他情况下,它可能看起来很笨重。没有硬性规定可以遵循,这完全取决于你自己的审美。就个人而言,我会为您的场景选择单行版本,但可能还有其他人不同意。

有一次我知道我避免使用单行代码时,初始化方法需要多个参数,因为它可能会变得混乱且难以理解,尤其是当你深入多层时。对于一个精简的例子:

id someObject = [MyClass myClassWithThing:[Thing thingWithX:5 andY:5] supportingThing:[SupportingThing supportingThingWithString:@"Tada!"] error:NULL];

有些人更喜欢使用东波兰圣诞树表示法,它看起来像:

id someObject = [MyClass myClassWithThing:[Thing thingWithX:5 andY:5]
                          supportingThing:[SupportingThing supportingThingWithString:@"Tada!"]
                                    error:NULL];

同样,这里没有可遵循的规则。尽管 Objective-C 有关于如何命名类和方法的约定,但我还没有遇到嵌套消息发送的约定。

首先,代码的可读性和可维护性。

于 2013-01-02T03:15:52.577 回答