在if语句中,我们说x!= null,并将其读作'x is not null'。在一个必须说'NotNull'或'IsNotNull'的函数名中感觉有点过于复杂。是否有一个单词意味着处于'not null'状态?
我能想到的最好的是'初始化',我觉得这是一个可怕的词,因为a)它太长了b)你可以'初始化'某些东西为null。我考虑和拒绝的另一个词是'某事',因为它太模糊了。而且我不喜欢NotNull,因为它是两个单词,感觉就像双重否定。
(如果没有这样的话,那么我认为我们应该创建一个,你的建议也欢迎作为答案。:)
编辑:与null相反,我的意思是这个词对于描述变量的状态应该是有用的,当这样使用时,变量的值可以是除了,肯定是null之外的任何东西。
答案 0 :(得分:4)
根据您的偏好,我认为,isset / is / set / exist / has / ...
但是你不认为代码可读性对理解和写作更重要,而不是缩短每个单词
答案 1 :(得分:3)
在PHP中有一个名为isset
的函数 - 我认为没有比这更短的版本。
答案 2 :(得分:3)
<强>集值强>
这里的警告是 NULL 可能被视为某些语言中的值,因此 VALUED 的普遍使用是 NULL 的对立面不是合适的。
在PHP中, VALUED 干净地反对 NULL 。
答案 3 :(得分:2)
我会使用术语usable
,因为在我看来,如果引用不为空,则引用是可用的...
但作为非母语英语的人,我无法真正评估我的建议的相关性。
答案 4 :(得分:2)
我建议is
或exists
。许多人虽然与现有的名字和语法发生冲突。
要使is
正常工作,您需要对其进行排序,就好像它是大写字母和粗体一样:
if( IS x)...
在实践中,我认为exists
会更好。
答案 5 :(得分:1)
我使用IsSet作为方法名称。
答案 6 :(得分:1)
我决定使用isKnown
。
Set
与Undefined
相反。
Null
是Value
,因此它是Set
,但它是Unknown
值。
如果变量是Known
,则它是Set
(暗示),它是not null
(未知)。
objects.js
// Is Known
this.isKnown = function(value) {
return !this.isUndefined(value) && !this.isNull(value);
}
// Is Undefined
this.isUndefined = function(value) {
return typeof value == 'undefined';
}
// Is Null
this.isNull = function(value) {
return value === null;
}
答案 7 :(得分:0)
Extant 表示事物存在。如果你认为 null 是一种不存在的状态,那么“现存”可以被认为是相反的。
答案 8 :(得分:-1)
$ valgrind ./bin/numardeposu_struct_dyn
==13231== Memcheck, a memory error detector
==13231== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==13231== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==13231== Command: ./bin/numardeposu_struct_dyn
==13231==
C c582
A c524
4 c742
1 c697
5 c890
...
6 c509
A c079
2 c511
0 c770
==13231==
==13231== HEAP SUMMARY:
==13231== in use at exit: 0 bytes in 0 blocks
==13231== total heap usage: 8 allocs, 8 frees, 3,056 bytes allocated
==13231==
==13231== All heap blocks were freed -- no leaks are possible
==13231==
==13231== For counts of detected and suppressed errors, rerun with: -v
==13231== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Straight = Not Null
(1 个空值,3 个空值)