黑马程序员技术交流社区
标题:
oc的函数名为啥都那么长
[打印本页]
作者:
yolande
时间:
2015-12-26 01:08
标题:
oc的函数名为啥都那么长
可读性。
比如你设计一个邀请朋友参加聚会的方法,除了指定姓名外,还可选择是否提前预约:
public void inviteFriend(String name, boolean appointment);
然后别人调用起来是这样的:
somebody.inviteFriend("LiLei", true);
问题就来了,写程序时即便不会搞错,等到阅读这段代码的时候,这个布尔参数的理解就非常有歧义,除了「是否预约」之外,还可能理解为「是否贵宾待遇」,「是否接送」,「是否发请帖」……。如果不看文档中参数的描述,根本就无法理解正确。
所以为什么有人提倡不建议使用布尔参数,就是因为可读性麻烦,一种解决方案是用枚举:
public void inviteFriend(String name, Appointment appointment);
但引入了新的类型,似乎更麻烦了……来看看 Objective C 是怎样的:
-(void) inviteFriend:(NSString *)name appointment:(BOOL)appoint;
看起来挺麻烦的,但调用起来呢?
[someBody inviteFriend:@"LiLei" appointment:YES];
看起来是不是既方便,又一目了然?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2