问题标签 [magic-numbers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xml - 有没有办法从 XML 模式中删除幻数?
我有一个定义了某些类型的 WSDL。一些元素接受元素列表,并且在服务返回时,我也有带有值列表(或其他元素)的元素。
结果,我在 XSD 中有一些神奇的数字(例如 minOccurs="10"、maxOccurs="250" 等)。这些值 10、250 等在整个 XSD 类型中重复出现。
有没有办法将它们声明为某种常量?然后按名称将它们重用于 minOccurs 和 maxOccurs 属性?
file - 如何为我的文件格式选择一个好的幻数?
我正在从头开始设计二进制文件格式,我想在开头包含一些魔术字节,以便可以轻松识别它。我该如何选择哪些字节?我不知道任何魔数的中央注册表,所以它只是挑选一些相当随机的东西,例如附近的 UNIX 机器上的文件命令尚未识别的问题吗?
c++ - 如何避免全局变量和幻数?
我知道并理解全局变量和幻数是编程时要避免的事情,尤其是随着项目中代码量的增加。但是,我想不出避免两者的好方法。
假设我有一个预先确定的表示屏幕宽度的变量,并且在多个文件中需要该值。我可以...
但这是一个神奇的数字。但为了避免这种情况,我会做...
现在我正在使用一个全局变量。这里有什么解决方案?
c++ - 我应该在 C++ 中使用枚举或多个 const 作为非顺序常量吗?
我正在编写将文件 io 函数集从 c 移植到 c++ 类中。“幻数”(未命名的常数)比比皆是。
这些函数读取一个文件头,该文件头具有许多特定条目,其位置当前由幻数表示。
几年前,一位资深程序员告诉我,使用“幻数”本质上是邪恶的,因此,我一直试图避免在我的端口中使用未命名的常量。所以我想创建某种存储条目的常量列表。
到目前为止,我已经提出了两个看起来相对安全的解决方案——使用命名空间封闭的常量集或命名空间封闭的枚举。
我可以安全地使用这两种解决方案吗?一个比另一个有什么优势吗?
例如
选项 1
选项 2
有没有办法防止重复,如果我由于将来更新文件头而改变位置,但忘记改变其中一个?
请保持事实性和非主观性。如果没有您知道的优势,请随时回答。
注意:当然,在我的实际实现中,我会使用更具描述性的名称;我只是将事物称为 item_<#>_... 以举例说明...
portable-executable - 关于PE的幻数
是什么ROM image
?
linux - 是否有任何与 Unix `file` 命令兼容的“魔术”文件类型标头集合?
我正在尝试找到一个神奇的文件类型标头集合,可以将其提供给文件命令,file -m
但无济于事。
发行版预包含的文件 Heaers 并不多,无法检测 Internet 上的所有文件类型。
有没有人想出任何集合,而不是默认列表?
谢谢!
javascript - 为什么在 Safari 中使用 JavaScript 计划 22034 年 Q1 不可靠?
在浏览器端(Safari 5.0.1)计算遥远的未来日期时有一些可疑之处,将字符串传递给Date()构造函数:
我将其缩小到 22034 年的 2 月至 3 月的过渡:
在任何以后的 date中提供它,构造函数总是返回一个 Date 对象关闭一天!
更早的日期呢?二月的最后一天看起来不错:
我的直觉告诉我,这看起来像是与闰年相关的错误。但是这里的模式是什么,这个错误的解释是什么?
编辑:
如果我们要求 2 月 29 日怎么样?
这将返回 2 月 + 1 天的最后一天(其标准行为)。
c++ - boost::hash_combine 中的幻数
boost::hash_combine
模板函数采用对哈希(称为seed
)和对象的引用v
。根据文档,它与byseed
的哈希相结合v
我可以看到这是确定性的。我明白为什么要使用 XOR。
我敢打赌,添加有助于将相似的值广泛地映射,因此探测哈希表不会崩溃,但有人能解释一下魔法常数是什么吗?
c - 为内存数据结构寻找一个安全的幻数
我正在实现一个堆分配器(malloc),我需要选择一个幻数来检查给定的指针是否指向我分配的数据结构。对我来说,显然没有任何幻数可以被认为是完全安全的(如果检查了这个数字,我可以确定指向我的数据结构之一),但也许我错过了一些东西,所以......如果有人可以帮助和把我梦想的数量带给我,我真的很感激。提前谢谢。