Validation 更好的名称是;“非负性”;价值

Validation 更好的名称是;“非负性”;价值,validation,language-agnostic,numbers,Validation,Language Agnostic,Numbers,我正在验证整数是否为零或更大。将需求描述为“零或更大”感觉太冗长了。说“非负面”会引入负面语言,我尽量避免使用负面语言 在描述必须为零或更大的值时,您使用什么简明的描述符?positiveValue或unsignedValue 如果使用unsignedValue作为名称,还应确保使用匹配的unsigned数据类型(如果您的语言支持)。如果使用正确的数据类型,则不必验证任何内容……该类型将为您完成此操作。我将坚持使用简单的正值。虽然这不是严格意义上的正确,但大多数人不会对你被这个名字欺骗感到惊讶

我正在验证整数是否为零或更大。将需求描述为“零或更大”感觉太冗长了。说“非负面”会引入负面语言,我尽量避免使用负面语言


在描述必须为零或更大的值时,您使用什么简明的描述符?

positiveValue
unsignedValue


如果使用
unsignedValue
作为名称,还应确保使用匹配的unsigned数据类型(如果您的语言支持)。如果使用正确的数据类型,则不必验证任何内容……该类型将为您完成此操作。

我将坚持使用简单的正值。虽然这不是严格意义上的正确,但大多数人不会对你被这个名字欺骗感到惊讶


Unsigned是一个很好的选择,因为它在编程语言中广泛地与正数关联(好的,只与正数或负数关联。但是你知道了)

正数

大于零表示排他性含义



请注意,无符号整数是自然数;)

或简单的自然

无符号将是不正确的,因为它指的是一个变量,它只能为正。
我相信肯定是正确的名称。

我坚持非否定。如果它对数学有好处,那么它一定对用户有好处;)


但是,如果标签只是“X的数量”,那么这个附加信息实际上是不必要的,并且验证结果可能会有否定的措辞(例如“不允许使用负值”)。

我认为答案取决于你为什么读者而写。如果这是针对其他开发人员(即变量命名或API文档),那么我认为“非负”将最准确地表达您的需求。如果这是针对最终用户的文档,那么“肯定”就可以了


总是考虑你的听众,即使是在编程的时候。

<>验证消息,我通常会去做类似的事情:

“小部件的数量不能为负数”

而不是:

“小部件的数量必须为零或更多”


对于需求文档,我更喜欢“零或更大”。需求文档将(希望)被包括非技术和非数学背景的人广泛阅读。短语“零或更大”明确了边界情况(即允许零)。“非负”可能不是每个人都清楚。

无符号整数

坚持使用非负。意义 是清楚的,更重要的是,是正确的

通过类比,考虑给定的名称 按升序排序的事物列表。按升序调用列表 仅当您明确排除 重复值。如果列表包含两个或多个具有相同值的项,则不能 被称为升序是因为 两个相等的事物不能按升序排列 彼此事实上,这样的列表被恰当地称为非降序

负/零/正问题也落入了同样的陷阱。共有3类 数字:负、零和正。描述一组 包含任意两个类别可以通过命名这两个类别或通过否定来完成

第三种可能性。任何其他类型的描述都是模棱两可的。

为什么要避免使用负面语言?通常,描述事物最精确的方法是描述它不属于的集合。@Kirk Woll:我最好的答案是“因为有更好的东西”。如果,事实上,所有这些聪明人都不能提供“更好”的东西,那么“非负面”可能就是我所用的。“零或更大”不是这个意思verbose@NimChimpsky:同意,真的。我想我只是想说得更简洁一些。如果你想要一些从舌头上滚落下来的东西,你可以试试“nought'n'up”。实际上,大多数名字在“听起来很棒”时加上“‘n'Up’:”未签名是相当类似C++的,我也喜欢它。好建议。“肯定”可能包括也可能不包括零(取决于你问谁),所以我不喜欢这里的混淆。“未签名”让我的观众范围太窄了。我希望非程序员/etc类型可以使用这个名称。unsigned与nonnegativeI一样是否定的,我可能会弄错,但我听起来好像@lance正在尝试开发一种语言,它将呈现给用户。。。我不认为像“总成本必须是一个未签名的值”这样的东西会很受欢迎。而且,零既不是正的也不是负的,所以肯定值是不好的。实际上,我没有指定我的受众,但是@Stephen Swensen是正确的。这是最终用户将看到的语言。我真的很喜欢这些答案,但这些答案并没有假设这个问题会及时应用到更多的受众身上。“如果它对数学有好处,那么它一定对用户有好处。”——哈哈!“大多数人[将把零包含在‘积极’中’”——我的经验表明,这可能不是一个安全的假设。我遇到了很多困惑(在数学、用户界面和很多地方),关于当要求一个正值时零是否有效。自然数都是整数。如果允许使用小数,自然数将不起作用。取决于你问谁,自然数可能包括0,也可能不包括0。请注意,问题说明该值是(理解为)整数。@Thomas Lötzer:当然。被引用的维基百科页面以“:(有时也包括零)”开头。这不是我想要的清晰。我也看到了不同的做法。例如,
N
表示非负数,而
N\{0}
表示正数,或者
N
表示正数,而
No
表示非负数,通常被明确地称为“本课程的惯例”。无符号负数看起来像什么?@NimChipmsky:实际上,它只能是正数,但人们可以做x-无符号的事情,这是我第一次听到“不”这个词