V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Ricepig  ›  全部回复第 24 页 / 共 74 页
回复总数  1469
1 ... 20  21  22  23  24  25  26  27  28  29 ... 74  
2013-10-08 18:09:50 +08:00
回复了 Ricepig 创建的主题 程序员 稍微吐槽一下ObjC的函数调用
@chchwy 我不认为copyItemAtPath:toPath:error比copy(from:xxx, to:xxx, err:xxx)要清晰。
2013-10-08 18:00:17 +08:00
回复了 Ricepig 创建的主题 程序员 稍微吐槽一下ObjC的函数调用
@chchwy 你说的“整句都是函数名字”,在一般书籍中指的是函数“签名”(Signature),它包含函数名、参数列表、返回类型等。

或者,用你的概念来说,为什么函数名字不是createColor:red:green:blue:alpha?
2013-10-08 17:57:17 +08:00
回复了 Ricepig 创建的主题 程序员 稍微吐槽一下ObjC的函数调用
@txx
@fgwww
@elden
@chchwy

请教一个问题,ColorWithRed这个部分,是表示一个动作(消息),还是表示一个动作(消息)加一个参数?为什么要把消息设计得这么纠结?每个部分我认为担负一种责任就够了,但是这里负责了两种,首先它表达了要干什么(动作),其次它表示了第一个参数是什么。

这种语法在只有唯一参数的方法或函数调用时是比较简洁的,一旦参数超过一个,就显得有些诡异。

正如我举的例子,为啥就有colorWithRed,没有colorWithBlue,colorWithGreen?

当然,可以说,这是一个习惯问题。这么说的话,如果当年ObjC设计成[UIColor colorWithBlueNRed:255,255 green:255 alpha:1.0]也完全没有问题。
2013-10-08 17:48:08 +08:00
回复了 Ricepig 创建的主题 程序员 稍微吐槽一下ObjC的函数调用
@PrideChung 请问写成Color.Create(red:255,blue:255,green:255,alpha:1.0)是不是感觉更加清楚一点呢?
2013-10-08 17:20:57 +08:00
回复了 Ricepig 创建的主题 程序员 稍微吐槽一下ObjC的函数调用
@alexrezit 你说的这一长串是函数签名吧。
2013-10-08 17:18:19 +08:00
回复了 Ricepig 创建的主题 程序员 稍微吐槽一下ObjC的函数调用
@PrideChung 语法的正确性在很多库里都是被特别关注的。但是Objective-C的命名里最蛋疼的是很多类都有前缀,例如NS。就不能使用namespace吗?

为什么Java里问题就大,ObjC问题就不大?java照样可以写Color.CreateWithRed(255)。就我说的这个例子,感觉并不像英语,后面接一大溜那是啥?

其实我吐槽的还是第一个参数的特殊性。
2013-10-08 17:14:41 +08:00
回复了 Ricepig 创建的主题 程序员 稍微吐槽一下ObjC的函数调用
@alexrezit 麻烦仔细看一下贴

第一个参数隐含了名字,造成第一个参数非常特殊,首先它是唯一不用指定参数名的参数,其次方法在命名时还要考虑隐含第一个参数的名字,就出现了colorWithRed这种蛋疼的方法名。
2013-10-08 17:08:28 +08:00
回复了 Ricepig 创建的主题 程序员 稍微吐槽一下ObjC的函数调用
@spoony 要看是哪种语言了,和中文习惯就不太一样。
2013-10-08 17:06:47 +08:00
回复了 Ricepig 创建的主题 程序员 稍微吐槽一下ObjC的函数调用
@chchwy 让我觉得蛋疼的是

为什么不是UIColor.color(red, green, blue, alpha)。

我并不是觉得blue:xxx,green:xxx这种方式蛋疼,而是觉得"第一个参数特殊的语法,并影响到函数名"这种规则很奇怪。
2013-10-08 17:04:26 +08:00
回复了 Ricepig 创建的主题 程序员 稍微吐槽一下ObjC的函数调用
@66450146 第一个参数名隐含,第二个后的参数名不隐含,这种不一致非常蛋疼。也会引发我说的那个问题。
@zhujinliang 当出现第三种返回状态时,enum就显得方便了
2013-09-28 20:40:11 +08:00
回复了 liunkor 创建的主题 剧集 大家推荐几部美剧吧
TBBT
2013-09-27 20:56:00 +08:00
回复了 coolicer 创建的主题 问与答 为什么移动端能做的事,在桌面端不能做?
@batfree 我感觉不是签名的问题,IOS有更加逆天的审核,也没见因为这个ios完蛋了。
2013-09-27 20:23:46 +08:00
回复了 ameba 创建的主题 Apple Apple Wireless Keyboard——键盘发烧友们跪舔之物
键程短对某些人来说是优势,对某些人来说是劣势
2013-09-26 17:33:39 +08:00
回复了 kennedy32 创建的主题 程序员 为什么VB也这么流行?
VB和VB.net大亮啊
2013-09-23 00:31:47 +08:00
回复了 JoyNeop 创建的主题 设计 某人要在学校组建码农社团,找我要海报……
真的是C# 3.5以上版本,膜拜啊
2013-09-22 19:03:29 +08:00
回复了 skydiver 创建的主题 分享发现 京东看到这货,第一眼以为价格标错了
双路+512G ecc+K6000 SLI+512G * 6 SSD

这个价格不算贵啊
@tommark 那就自己内嵌一个webkit和网页吧,呵呵
1 ... 20  21  22  23  24  25  26  27  28  29 ... 74  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5522 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 46ms · UTC 06:29 · PVG 14:29 · LAX 23:29 · JFK 02:29
Developed with CodeLauncher
♥ Do have faith in what you're doing.