问题标签 [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.
python - 用 C 创建的 GDBM 数据库可以用 Python 打开吗?
我有一个 Python 程序,我试图在其中使用这个押韵字典来查找押韵。
字典库设置的一部分由创建三个 gdbm.db
文件的 C 程序工作。执行此操作的代码可在此处公开获得(来自“获取源代码”部分),C gdbm 构建器的关键部分compile.c
如下所示:
words.db
已创建,并且可以从捆绑的命令行界面成功访问。
根据图书馆的示例页面,我应该可以使用 python gdbm 模块来访问数据库。
但是,我不能。当我运行以下命令时:
我收到以下错误:
是否存在文件不兼容问题?用 C 语言创建的一些 gdbm 文件不能用 Python 打开吗?
(这是 OSX 10.6.8 上的 Python 2.7。Python 的 gdbm 是通过 MacPorts 安装的)
solid-principles - SOLID 原则,以及类内的硬代码配置
我最近在很多代码中注意到,人们将硬编码配置(如端口号等)值放在类/方法的深处,使其难以找到,而且也无法配置。
这是否违反了 SOLID 原则?如果没有,我是否可以向我的团队成员引用另一个“原则”来说明为什么这不是一个好主意?我不想只是说“这很糟糕,因为我不喜欢它”,但我很难想出一个好的论点。
redis - 消除 Redis 中的幻数
我正在使用排序集使用 Redis 创建索引。我想要匹配结果的以下顺序(首先是较小的字符串):
从Redis 文档中,我使用分数来存储数据:
元素被认为是从最高分数到最低分数排序的。
我为实现这一点而编写的代码有一个幻数 1000,但这是一个任意数字,足以比我必须存储的最大字符串大(我也不知道确切的最大字符串长度是多少,但我m确定小于1000)
你如何用感觉删除这个神奇的数字?
php - 在 PHP 中检查“魔术字节”或 Mime 类型?
所以,我目前使用了几种不同的方法来检查 mime 类型。用户使用表单上传文件,我获取 mime 类型,如果是 application/zip,我允许,如果是其他,我拒绝。问题是某些东西(我假设的浏览器)正在将 mime 类型更改为“application/octet-stream”
我想知道如何在表单上传时验证文件是 .zip。
代码:
node.js - Express.JS:如何按名称而不是数字设置响应状态?
OK,大家都知道200是OK的,404是找不到的。但是我对于诸如永久重定向和临时重定向、需要付款或其他更奇特的 HTTP 错误代码之类的事情,最好执行以下操作:
而不是仅仅使用通常被认为是不好的做法的幻数。当然,我可以在某个对象中有 413:'REQUEST_ENTITY_TOO_LARGE',但 Express 已经有状态代码 -> 名称映射的副本,我不想复制它。
如何在 Express JS 中按名称指定响应状态?
编辑:感谢@Akshat 指出 http.STATUS_CODES。详细说明他的答案,因为这些值本身是独一无二的,所以可以运行:
这允许:
eclipse - 是否有用于将重复文字转换为 Java 中最终字符串/幻数的工具?
我有一些 Java 文件,每个文件使用相同的字符串值最多 20 次,我想要一个工具,用 aprivate static final String STRING_TO_CAPS_AS_CONSTANT
或类似的东西替换这些字符串。如果它也可以将数字转换为幻数,那就太好了。我正在使用 Eclipse,但如果它是一个独立的工具,我仍然可以使用它。
c - 从幻数中寻找确定文件类型
可以从文件的幻数确定文件类型吗?
如果我理解了,幻数可以有不同的大小,也许参考字典或图书馆之类的东西可以帮助我?
java - Getting rid of magic numbers in Java
How do I get rid of magic numbers in java without declaring a massive amount of finals or static finals? Keep in mind looping, arrays are not allowed. It doesn't seem possible? Help appreciated. thanks.
Example code:
java - jpanel 背景幻数
我不想使用幻数。我正在为 jpanel 背景设置颜色,是否有可能使用颜色而不是
谢谢
java - setbounds 值是幻数
我将 setbounds 值作为幻数。有没有办法将所有值分配给一个变量,而不是为每个值分配一个变量?
提前致谢。