常量的 k 前缀从何而来?

2023-12-24

常量以前缀开头是一种很常见的做法k (e.g. k_pi)。但什么是k mean?

难道只是这样c已经意味着char?


这是一个历史上的奇怪现象,在喜欢盲目应用他们不理解的编码标准的团队中仍然是常见的做法。

很久以前,大多数商业编程语言都是弱类型的。自动类型检查,我们现在认为是理所当然的,仍然主要是一个学术话题。这意味着很容易编写带有类别错误的代码;它可以编译并运行,但会出现难以诊断的错误。为了减少这些错误,一位名叫 Simonyi 的小伙子建议您在每个变量名称开始时添加一个标签来指示其(概念)类型,以便更容易发现它们何时被误用。由于他是匈牙利人,这种做法被称为“匈牙利表示法”。

一段时间后,随着类型语言(尤其是 C)变得越来越流行,一些白痴听说这是一个好主意,但不明白其目的。他们建议为每个变量添加冗余标签,以指示其声明的类型。它们的唯一用途是更容易检查变量的类型;除非有人更改了类型并忘记更新标签,在这种情况下它们是非常有害的。

第二种(无用的)形式更容易描述和执行,因此被很多很多团队盲目采用;几十年后,你仍然会不时地看到它被使用,甚至被提倡。

“c”是“char”类型的标签,因此它不能也用于“const”;所以选择了“k”,因为它是德语中“konstant”的第一个字母,并且广泛用于数学中的常数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

常量的 k 前缀从何而来? 的相关文章

随机推荐

  • Scala:值 :: 不是 Int 的成员

    我最近开始使用 scala 但我无法获取任何错误消息 对于以下代码 我得到指定的消息 使用 eclipse def helper Int gt List Int x gt x match case 2 gt 2 1 我可以使用 List 2
  • getSignedUrl() 和 getDownloadUrl() 之间的区别

    Node js 上的 get getSignedUrl 方法与 SDK 上的 getDownloadURL 方法有什么区别 我用的是颤动 与我在云函数中使用的 getSignedUrl 一样 当图像更改时返回的url不会更改 具有相同的文件
  • 作为一个原子操作插入到 azure cosmos db 中的多个容器

    我对 Azure Cosmos DB 有点陌生 我想知道它是否可以选择将多个容器上的多个操作作为一个原子操作 例如 所有成功或失败都来自 NET 后端 对于单个容器中的单个操作来说 操作是原子的 如果您使用存储过程 则可以在单个容器内的单个
  • Microsoft Excel 保存文件时使用什么字符集?

    我有一个 Java 应用程序 可以读取在 Excel 中创建的 CSV 文件 例如 2007 有谁知道 MS Excel 使用什么字符集来保存这些文件 我会猜测 windows 1255 Cp1255 ISO 8859 1 UTF8 但我无
  • 保护 ajax 请求的安全

    我有一个使用会话 cookie 来确保安全的网站 它工作得很好 但是现在任何 ajax 请求都不安全 例如 假设用户在某个页面上 他们只有通过会话登录才能访问此页面 到目前为止一切顺利 但现在他们要求的ajax请求是 ajaxpages s
  • Gradle 工件插件无法解决对配置阶段的依赖

    我正在尝试使用artifactory gradle 插件解决配置阶段的依赖关系 apply plugin java apply plugin com jfrog artifactory artifactory contextUrl arti
  • 我们可以使用贪心算法而不是动态规划来解决“整齐打印”问题吗?

    算法导论 书中的 打印整齐 问题是通过动态规划来解决的 是问题5 3 已找到解决方案here https segue middlebury edu repository viewfile polyphony repository repos
  • 如何通过 OpenCV 和 Python 通过索引从视频中获取帧?

    我需要通过帧索引访问视频中的帧 到目前为止我使用了这样的代码 video cv2 VideoCapture video path status frame video read 该代码读取第一帧 如果我重复使用该代码 我将获得下一帧 但是我
  • CPU 中的相关负载重新排序

    我一直在阅读内存屏障 软件黑客的硬件视图 http www puppetmastertrading com images hwViewForSwHackers pdf 保罗 E 麦肯尼 Paul E McKenney 撰写的一篇非常受欢迎的
  • 电子邮件上的 CSS

    有没有人找到一种在以编程方式生成的电子邮件中嵌入 CSS 的好方法 我发现的最好方法是将样式代码放入资源文件中并在代码中调用它 一个例子是 Dim objBuilder objBuilder New StringBuilder objBui
  • 如何关闭本地 firebase 模拟器?

    目前我使用以下命令初始化 firebase 模拟器 firebase emulators start 经过一段时间的研究后 我想停止它 那么我怎样才能停止模拟器呢 查看端口被哪个进程占用sudo lsof i tcp
  • 从 htaccess 中的 URL 中删除不需要的字符

    我们当前的 htaccess 设置正确地将 URL 转换为这样 site com page php sid Friend 到 site com Friend 然而 由于不相关的疏忽 我们几乎所有的 URL 都被双索引为 site com F
  • phpmyadmin:创建一个函数

    我正在尝试在我的 phpmyadmin 中创建一个函数 不起作用 这是我的语法 DELIMITER CREATE FUNCTION fixString input varchar RETURNS varchar BEGIN declare
  • 如何在 TypeORM queryBuilder 中显示生成的 SQL/原始 SQL

    我开发了typeorm querybuilder 为了调试的目的 我想显示生成的 SQL 查询 我测试过printSql 方法 但它没有显示任何 SQL 查询 const Result await this attendanceReposi
  • R Keras:将tensorflow张量转换为R数组

    我正在使用 R Keras 我可以通过执行以下命令来获取中间层的输出 layer output lt get layer mymodel index 1 output 其中 mymodel 是 Keras 模型 问题是layer outpu
  • 更新拉丝面积图的 y 轴

    我正在使用 d3 js 并且我正在通过修改来处理拉丝面积图这个例子 http bl ocks org 1667367 除了根据画笔改变 x 轴之外 我还希望根据画笔内数据的 y 值重新绘制图表的 y 轴 类似于 我已经使该功能正常工作 但只
  • Spring boot @DataJpaTest排除过滤器不起作用

    我有这个测试 RunWith SpringRunner class DataJpaTest excludeFilters Filter type FilterType REGEX pattern io rainrobot adwisdom
  • @PostConstruct 拦截器与 @Named @ViewScoped 未调用

    我仔细阅读了有关的文章拦截器 http docs jboss org weld reference 1 0 0 en US html interceptors html在接缝 焊接文档中并实施了InterceptorBinding Inte
  • 如何通过代码设置另存为对话框的目录?

    基本上 我编写了一些代码 用于监听应用程序内弹出的 另存为 对话框 当它弹出时 它会按下 保存 所有这些都是通过代码实现的 这很好用 但是我需要能够在保存之前将文件路径设置为我想要的路径 到目前为止 这是我的代码 using System
  • 常量的 k 前缀从何而来?

    常量以前缀开头是一种很常见的做法k e g k pi 但什么是k mean 难道只是这样c已经意味着char 这是一个历史上的奇怪现象 在喜欢盲目应用他们不理解的编码标准的团队中仍然是常见的做法 很久以前 大多数商业编程语言都是弱类型的 自