匈牙利命名法的那些破事~~

2024-02-26 23:38
文章标签 命名 匈牙利 破事

本文主要是介绍匈牙利命名法的那些破事~~,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

匈牙利命名法,是编程时候的一种命名规范,基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则,所以保证名字的连贯性是非常重要的。与此相对应的常见的命名规则还有驼峰命名法,帕斯卡命名法等,具体规则不再啰嗦了,想必编程的孩子们都懂得~

今天在看《代码重构》的时候,在命名指导原则的时候,有一条:避免使用匈牙利命名法。原因是:现代的工具已经不再使用这种技术,应该坚持使用易于朗读和记忆的名称。回想当年写代码的时候,还专门对匈牙利命名法做过研究,所以直到现在我的代码里还有很多btnSearch,strMsg,iCount等等的变量名称,试问一句,这样写有什么不妥吗??

去度娘Google了一下,对此说法也是见仁见智,支持的说:能清楚的看到变量名称,知道变量类型,变量名称比较一致等;批评的说:让编译器去检查变量类型是多余的,并且一旦变量类型发生更改,如int 变为float,那么原来的iCount是不是要变为fCount,如果不变,则不符合匈牙利命名规范,变则又比较繁琐,尤其是使用较多的情况下,当然有一些自动化的重构工具还是能起到一些帮助的。

其实争来争去,命名规则无非就是:易理解,易记忆,易扩展。易理解:能从变量名称知道该变量所表示的内容及意义,及时没有注释也能清楚理解;易记忆:只要命名规则符合实际业务需求,基本都能很好的记住;易扩展,就是当前变量从一种数据类型变为另一种数据类型,如int 升级为float,float升级为double时,变量不用做相应的改变也能适应当前场景而不会引起歧义。有这些,就足够了~

所以,完全可以在有意义的前提下,适当使用而不是一棒打死,任何事物都有两面性,辩证的去看待,生活更美好。

这篇关于匈牙利命名法的那些破事~~的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/750530

相关文章

Pytorch微调BERT实现命名实体识别

《Pytorch微调BERT实现命名实体识别》命名实体识别(NER)是自然语言处理(NLP)中的一项关键任务,它涉及识别和分类文本中的关键实体,BERT是一种强大的语言表示模型,在各种NLP任务中显著... 目录环境准备加载预训练BERT模型准备数据集标记与对齐微调 BERT最后总结环境准备在继续之前,确

Linux命名管道方式

《Linux命名管道方式》:本文主要介绍Linux命名管道方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、命名管道1、与匿名管道的关系2、工作原理3、系统调用接口4、实现两个进程间通信二、可变参数列表总结一、命名管道1、与匿名管道的关系命名管道由mkf

通过Python脚本批量复制并规范命名视频文件

《通过Python脚本批量复制并规范命名视频文件》本文介绍了如何通过Python脚本批量复制并规范命名视频文件,实现自动补齐数字编号、保留原始文件、智能识别有效文件等功能,听过代码示例介绍的非常详细,... 目录一、问题场景:杂乱的视频文件名二、完整解决方案三、关键技术解析1. 智能路径处理2. 精准文件名

linux如何复制文件夹并重命名

《linux如何复制文件夹并重命名》在Linux系统中,复制文件夹并重命名可以通过使用“cp”和“mv”命令来实现,使用“cp-r”命令可以递归复制整个文件夹及其子文件夹和文件,而使用“mv”命令可以... 目录linux复制文件夹并重命名我们需要使用“cp”命令来复制文件夹我们还可以结合使用“mv”命令总

Python脚本实现图片文件批量命名

《Python脚本实现图片文件批量命名》这篇文章主要为大家详细介绍了一个用python第三方库pillow写的批量处理图片命名的脚本,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言源码批量处理图片尺寸脚本源码GUI界面源码打包成.exe可执行文件前言本文介绍一个用python第三方库pi

变量与命名

引言         在前两个课时中,我们已经了解了 Python 程序的基本结构,学习了如何正确地使用缩进来组织代码,并且知道了注释的重要性。现在我们将进一步深入到 Python 编程的核心——变量与命名。变量是我们存储数据的主要方式,而合理的命名则有助于提高代码的可读性和可维护性。 变量的概念与使用         在 Python 中,变量是一种用来存储数据值的标识符。创建变量很简单,

BERN2(生物医学领域)命名实体识别与命名规范化工具

BERN2: an advanced neural biomedical named entity recognition and normalization tool 《Bioinformatics》2022 1 摘要 NER和NEN:在生物医学自然语言处理中,NER和NEN是关键任务,它们使得从生物医学文献中自动提取实体(如疾病和药物)成为可能。 BERN2:BERN2是一个工具,

【C/C++】变量命名规范

在 C++ 中,为 bool 类型的变量命名时,通常遵循以下命名规范,以确保代码的可读性和一致性: 表示状态或条件: 使用 is 前缀表示某个状态或条件,例如 isReady、isValid。使用 has 前缀表示是否拥有某个属性,例如 hasData、hasError。使用 can 前缀表示是否具备某种能力,例如 canExecute、canRead。使用 should 前缀表示是否应该执行

大话C++:第6篇 命名空间namespace作用域

1 命名空间概述 在一个大型的软件项目中,可能会有许多不同的代码文件,这些文件可能由不同的开发者编写,或者来自不同的库和模块。如果这些代码文件中存在同名的变量、函数、类或其他标识符,那么在编译或运行时就可能发生命名冲突,导致程序无法正确执行。 通过使用命名空间(namespace),开发者可以将相关的代码、变量、函数等组织在一起,形成一个独立的命名空间。这样,即使不同的代码片段中使用了相同的标

VsCode中 找不到UnityEngine.AddressableAssets命名空间

Unity2019.3.5 VsCode中 找不到UnityEngine.AddressableAssets命名空间 命名空间“UnityEngine”中不存在类型或命名空间名“AddressableAssets”(是否缺少程序集引用?) 由于在Unity2019.3.5 AddressableAssets模块的dll文件移到其他位置了,vscode还是找的以前的路径所以会导致引用不正确 解