有一个词表示“不为空”吗?

问题描述 投票:0回答:12

if
语句中,我习惯于看到
x != null
,并将其读作“x 不为空”。

但是在函数名称中,必须说“NotNull”或“IsNotNull”来解释类似的状态感觉过于复杂。不仅因为它是两三个词,而且还带有一种用来表达积极概念的双重否定的感觉。

什么是好词,希望不是长词或复合词,其含义与“not null”相同?

我已经集思广益并拒绝了一些想法,以及原因:

  • “初始化”不太好,因为在大多数编程语言中,您可以将变量初始化为空。

  • “某物”可能意味着“不是什么都没有”,因此对你来说“不为空”,但其他人的解释可能会有所不同......

如果没有这样的词,那么您可以创建一个 - 欢迎您的建议,我相信人们会喜欢为他们最喜欢的词投票。

null terminology
12个回答
9
投票

在 PHP 中,有一个名为

isset
的函数 - 我认为没有比这个更短的版本了。


6
投票

我认为这是基于您的偏好,isset / is / set / exit / has / ...

但是你不认为代码的可读性更重要的是理解和编写,而不是缩短每个单词


5
投票

Extant表示某事物存在。如果您认为 null 是一种不存在的状态,那么“现存”可以被认为是相反的。


4
投票

有价值

这里需要注意的是 NULL 在某些语言中可能被视为一个值,因此普遍使用 VALUED 作为 NULL 的对立面是不合适的。

然而在 PHP 中,VALUED 明确反对 NULL


3
投票

我建议

is
exists
。但与现有名称和语法有许多冲突。

要使

is
发挥作用,您需要将其发音为大写且粗体:

如果 (IS x) ...

在实践中,我认为

exists
会效果更好。


2
投票

我会使用术语

usable
,因为在我看来,如果引用不为空,则它是可用的......

但作为一个非英语母语者,我无法真正评估我的建议的相关性。


2
投票

我决定

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;
}

1
投票

我使用 IsSet 作为方法名称。


0
投票

相信我使用的可读性和缩写;

Not Null”       尽可能
NNull”或“NN”    当我需要缩写时

它并不漂亮,但至少它是明确的并且适合您对 Null 本身的定义。
“IsSet”似乎有点太接近变体的“Initialized”,或者布尔值的“True”

“标准的伟大之处在于标准有很多”- Anon


0
投票

在我的Python脚本中因为我懒惰的写作

if value is not None:

我通常使用一个简单的函数,我称之为

def isReal(value):
    ...

当我使用这个函数时,我通常会在像这个玩具示例这样的上下文中

class Bandit:
    def __init__(self):
        self.gun = "magnum .44"

class Me:
    def __init__(self):
        self.gun = None

badGuy = Bandit()
# badGuy say to me: "shot, but if you can't, you die"

if isReal(Me().gun):
   # Defend yourself
else:
   # Im sorry bro

0
投票

怎么样

plain

is_plain(value)
- 检查值是否不为空
is_null(value)
- 检查值是否为空


-2
投票

Straight = Not Null

Null = Odd
(1 个空,3 个空)

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.