1
felix021 2013-09-08 22:22:48 +08:00
心血来[潮]……
其实我觉得还好,写了这么多年C,没有被坑得很厉害的感觉。LZ被坑得多,可能跟编码习惯也有关系。 |
2
fangzhzh 2013-09-08 22:24:27 +08:00
话说有个公司新进了一个员工,英文名叫null, 然后公司的OA崩溃了
|
3
banxi1988 OP @felix021
晕,我居然选错字了. 还好,上学那会写C比较多,经常段错误.呵呵. 编码习惯的话,确实可能有关系.在null的语言中,就必须时刻想着这东西是不是空.. 但是很多时候有意无意有忘了. 我现在的开始使用避免这种null的策略,就是想着用NullObject模式来处理. |
5
SoloCompany 2013-09-08 22:39:17 +08:00
NullPointerException 总比 Segment Fault 要好吧楼主?
|
6
xavierskip 2013-09-08 22:42:26 +08:00
None
|
7
clowwindy 2013-09-08 22:45:00 +08:00
前几天豆瓣改版后,Feed 里出现了
None 说: None |
8
eggacher 2013-09-09 09:08:41 +08:00
nil
|
9
gangsta 2013-09-09 09:13:48 +08:00 2
"a billion-dollar mistake"...
stackoverflow上有类似经典问题: http://stackoverflow.com/questions/271526/avoiding-null-statements-in-java 除了你说的NullObject,也可以参考下Guava里的做法: http://code.google.com/p/guava-libraries/wiki/UsingAndAvoidingNullExplained |
11
sojingle 2013-09-09 09:43:14 +08:00
其实在使用 Objective-C 之前,平时写代码都会注意空指针检查,被坑得倒也不多,长时间使用 OC 之后再去用其他语言来写,各种被坑!T_T
|
13
Mutoo 2013-09-09 10:53:13 +08:00
func = func || function(){}
func(); // what is null... |
15
so898 2013-09-09 11:47:26 +08:00
竟然有人说转去OB-C就没有Null问题,简直就是开玩笑……
通过NSJSONSerialization处理完成的NSDictionary里面的Null简直就是无法处理啊! 换成id和NSNull对比还是不能得出正确结论啊!一会可以一会不行啊! 输出NSString内容一会"<null>"一会空白啊! 这尼玛就是坑啊! 再一个那个逗逼NSNull竟然和id有一样的Function啊!啥时候转换成空的都不清楚啊! |
16
jedyu 2013-09-09 11:53:53 +08:00
NULL都不是大问题,gdb bt一下不就全出来了。
Wild pointer才是头痛的,Code review是关键 |
17
banxi1988 OP @so898 哈哈我也被这个坑过.因为返回的json有null的.
我的解决方法是: 如果这个obj对应的json为null的话, 它其实是一个NSString的东西,一般不会出空白吧. 将它强制转成NSString之后再做字符串比较.. (NSString*)obj == "<null>" |
18
nil 2013-09-09 20:48:37 +08:00
nil
|
19
l0wkey 2013-09-09 21:54:37 +08:00
null
none null none... |
20
jesse_luo 2013-09-09 23:16:14 +08:00
pclint一定程度可以帮助检测空指针,野指针才是真凶残……而且是害别人……
|
22
so898 2013-09-10 02:22:11 +08:00
|
24
nulloo 2013-09-10 08:17:27 +08:00
一只null路过……
|
25
holy_sin 2013-09-10 09:20:25 +08:00
我也想玩纯C
|
26
holy_sin 2013-09-10 09:20:58 +08:00
LZ 用纯C编什么软件啊
|
28
125204412 2013-09-10 09:34:56 +08:00
一只写java很少犯null的 轻轻飘过
|
30
pdshr 2013-09-10 16:04:53 +08:00
家里的弟弟最近不知怎么了就想学软件工程师,做程序猿,偶是再三反对,反对无效倒是不说了,现在搞的全家都把我当外人了,桑心啊,谁能帮我劝住他
|
32
dorentus 2013-09-10 18:53:00 +08:00
@so898 他们说的是 nil。JSON 里面的 null 值有时是有语义的,和直接没有值不一样(如果是你们自己的数据的话,这个是你们自己定的吧)。
你要是不怕坑到自己的话,可以写个 NSNull 的 category 把你想要的方法都补给它啊…… |
33
so898 2013-09-10 19:07:13 +08:00
|
34
anson0370 2013-09-11 00:36:37 +08:00
Java 中 null 不是个 object 这一点实在是太2了……同样2的还有包装类型和简单类型共存
Guava 用 Optional<T> 试图解决这个问题,Scala 也同样的使用 Option[T] 来解决 |
35
guangwong 2013-09-11 11:26:44 +08:00
如果不用null,怎么解决之前null覆盖的问题。我在做一个DSL,我也不喜欢他,可是不知道怎么替代。
|
36
aisk 2013-09-11 11:43:01 +08:00
推荐一下Rust,没有null
|