Clean Code之路——命名

Clean Code命名规范与实战技巧 代码命名是软件开发中的基础但关键环节,直接影响代码的可读性和可维护性。良好的命名本质上是一种即时文档,能够显著降低代码理解成本。从技术原理看,命名应遵循信息密度法则,用最少字符传递最多信息。在工程实践中,业务代码命名应像业务文档一样清晰,技术组件命名则需体现技术栈特性。通过静态分析工具和IDE插件可以辅助命名规范化,而跨语言项目需要注意不同社区的命名风格差异。Clean Code理念强调,优秀的命名能反映系统架构,与微服务设计形成协同效应。掌握命名艺术需要持续练习,包括分析优秀开源代码和维护团队术语词典。 阅读详情

命名基本原则

此处名字包括变量名、常量名、函数名、方法名、类名等。

  • 名字在文字上应具有意义,主要要说明是干什么的,一个好的命名是不需要注释的。例如:
# unmeaningful name
d = 20 # elapsed time in days  
# meaningful name
elapsed_time_in_days = 20
  • 代码不仅要能运行,还能让自己和别人很快读懂,如果能把代码写成文章段落那样易读,就最好了。
  • 名字的长短决定于使用的单词是否能准确表达其意义,又没有文字冗余。

具体方法论

  • 尽量不要在程序中使用数字常量,而是定义常量名,例如
# digit
if address[2] == 'China':
    pass
# constant name
if address[STATE] == 'China':
    pass
  • 不要在名字中包含具有误导性信息的文字,如除非是一个列表类型的变量,否则不要使用account_list这种命名,可以使用accounts。
  • 避免区分度不大的长名字,如logger_file_handler和logger_std_handler。
  • 不要用数字作为后缀命名,如[a1, a2, a3, …, an],而是使用具有区分度的单词命名。
  • 不要在变量名中包含类型信息,因为不知道什么时候可能改变这个变量类型,这时候名字中的类型和真实类型会产生不一致。例如,不要使用address_string,而用address即可。
  • 不要在名字中包含冠词a, the等,没有意义。
  • 使用能发音的单词作为名字,以求交流之方便,因为编程也是一种社会行为,有时候需要多人协作。
  • 使用能够快速搜索定位的名字,如果一个变量的名字是e,则搜索e将得到很多结果,无法快速定位。
  • 不需要使用前缀后缀来说明名字的意义,如用m_address说明是成员变量,f_set_address说明是函数,没有必要的。
  • 类名用名词或名词短语,方法名用动词或动词短语。
  • 在代码中坚持用一个单词代表一个意思,并坚持使用这一个词,不要引入同义词,如只使用get,而不要一会儿get一会儿fetch。除此之外,还应了解约定俗称的命名习惯,例如append方法不能命名为add。
  • 如果一个名字单独理解有歧义,则可以添加上下文前缀,或者干脆用封装一个新的类,用类名确定上下文。例如只看到state这一变量,不知道是“国家”还是“状态”的意思,如果添加前缀addr_state,就知道是“国家”的意思。
set_data_check专题[使用,report_timing,setup/hold检查] set_data_check用于约束『数据-对-数据』的『建立保持』时间检查,通常被称为非时序约束 ( non-sequential constraints ), 理论上set_data_check 可以设在任意的两个data pin 上,其中一个pin 称为 constrained pin 类似于寄存器的data pin, 另一个pin 称为related pin 类似于寄存器的clock pin. 阅读详情

相关推荐

Mac微信聊天记录备份终极指南:用软链接轻松迁移到外接硬盘(附重签名教程)

本文详细介绍了如何通过软链接技术将Mac微信聊天记录备份迁移到外接硬盘,解决内置存储空间不足的问题。教程包括备份文件定位、软链接创建及微信重签名步骤,帮助用户高效管理微信数据,释放Mac存储空间。

uuu88的博客 1164

CLeanCode -- 第二章 -- 有意义的命名

这里写自定义目录标题part02 - 有意义的命名规则 - 01:名副其实规则 - 02:避免误导规则 - 03:做有意义的区分规则 - 04:使用读得出来的名字规则 - 05:使用可搜索的名称规则 - 06:类名规则 - 07:方法名 part02 - 有意义的命名 规则 - 01:名副其实 变量、函数或类的命名,最好已经告诉你所有的大问题: 它为什么存在; 做什么事情; 应该怎么用; 反例:名称 d 什么也没有说明; int d; // elpased time in days

S_numb的博客 299

从指令到坐标:深度解析307系列基站定位的AT指令实战与排错

本文深度解析了ML307系列模组基站定位的AT指令实战应用与排错方法。重点剖析了AT+MLBSCFG和AT+MLBSLOC两条核心指令的配置、执行流程及异步响应机制,并针对高德与OneOs两种主流定位服务提供了完整的配置指南。文章结合常见错误码(如126、127)和硬件注意事项,分享了确保定位成功的实战经验与稳健的程序框架。

weixin_29057695的博客 487

CleanCode-命名

clean code 学习笔记-命名

weixin_44831041的博客 387

基于MATLAB对地下水水位的数据处理

本文借用Matlab强大的计算功能和绘图功能,对某阿拉干监测数据进行曲线拟合,得到拟合函数。再利用GM(1.1)时间序列模型构建地下深埋的预测模型,进而对阿拉干 2021,四个位置H1,H2,H3,H4年度各监测井平均深埋位置变化进行分析。

keykangkang1001的博客 1244

从零做出可发布的2D冒险游戏!Unity全流程实战指南:从资源搭建到打包发布,新手也能跟着做

项目配置→资源导入→核心模块开发→关卡设计→调试→打包发布;玩家控制→敌人AI→道具系统→UI系统→游戏管理器→音效系统;新手开发重点:先实现核心玩法(移动、跳跃、攻击),再补充UI、音效、存档等辅助功能;调试是关键:每实现一个功能就测试,避免最后一堆bug难以定位。从零做一款完整的2D冒险游戏,能快速提升你的Unity综合能力——不仅能掌握C#编程、2D物理、UI系统,还能理解游戏开发的完整流程。先做出基础版,再慢慢迭代优化,你会发现游戏开发并没有想象中那么难。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1176

有意义的命名 —— Clean Code

名副其实,如果名称需要注释来补充,那就不算是名副其实 避免误导,避免用外形相似的单词,更要避免用小写字母l和大写字母O 做有意义的分区,不能光是添加数据或是废话。比如a1, a2, … , aN;或者废话,比如Info和Data就像a, an 和 the一样,是意义含混的废话 使用读的出来的名称 使用可搜索的名称,名称长短与其作用域大小相对应,单字母名称仅用于短方法中的本地变量 ...

pengfeisusjtu的博客 265

MSVS C# Matlab的混合编程系列2 - 构建一个复杂(含多个M文件)的动态库:

本节我们尝试将一个有很多函数和文件的Matlab算法文件集成到C#的项目里面。

山云的专栏 2068

【clean code】有意义的命名

名副其实,变量&函数&常量的命名应该明确表示其含义,不能模凌两可。自解释代码 避免误导 a. 避免已有的标准命名,vim在写代码人的眼里就是编辑器,如果你用来做变量就容易引起歧义。 b. 避免类型误导,只有确实是List的时候才能命名:ListXXX 不要用含义类似的名字来表示不同的东西,名字一定要有区分性。 使用读得出来的名称,读不出来不适合长期记忆 使用可搜索的名称,在代码里...

PJZero 601

多物理场耦合仿真-主题032-电磁-流体耦合

电磁-流体耦合,即磁流体动力学(MHD, Magnetohydrodynamics),是研究导电流体在电磁场中运动规律的学科,涉及电磁场与流体力学的深度耦合。本主题系统阐述磁流体动力学的基本理论、控制方程和数值方法。首先介绍MHD的基本概念和物理基础,包括导电流体的性质、电磁场基本方程;然后详细推导MHD控制方程组,包括连续性方程、动量方程、能量方程和电磁场方程;接着讨论MHD流动的特征参数,如Hartmann数、磁雷诺数、相互作用参数等;最后通过六个典型工程案例展示MHD分析的实际应用,包括电磁泵、磁流体

2401_87715305的博客 423

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Clean Code ——有意义的命名

名副其实 避免误导 做有意义的区分 使用读得出来的名称 使用可搜索的名称 避免使用编码 避免思维映射 类名 方法名

元气满满晨 431

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Clean Code 学习总结01 - 物理设计与命名艺术

在《Clean Code》的实践中,代码的整洁性不仅体现在逻辑层面,更渗透到物理结构(如目录层次)与命名规范等细节中。以下围绕“目录层次结构的物理设计要求”和“通过命名传递信息”两大核心,结合Clean Code原则进行总结。

tianyuanwo的专栏 706

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

clean code阅读笔记——如何命名?

有个词叫做”以小见大“。以建筑作喻,宏大建筑中最细小的部分,比如关不紧的门、未铺平的地板,甚至时凌乱的桌面,都会将整个大局的魅力毁灭殆尽,这就是整洁代码之所系。

leedcanDD的博客 1322

Clean Code (2):命名艺术

好的命名不仅仅是代码风格的问题,它是一种以读者为中心的编程思维。Variables就像故事中的角色,要有清晰的身份(名词)。Functions就像角色的动作,要有明确的行为(动词)。Classes就像故事的场景或归类,要有具体的定义(具体名词)。当你为了给一个变量起名而停顿思考时,不要感到浪费时间。你在为未来阅读这段代码的所有人(包括两周后的你自己)节省数小时的调试时间。在今天的 Code Review 中,试着挑出一个命名不清晰的变量,并重构它。

TracyCoder的博客 1468

Clean Code中的命名艺术与最佳实践

在软件开发中,良好的命名规范是编写Clean Code的基础要素之一。命名作为代码的标识符,直接影响代码的可读性、可维护性和团队协作效率。从技术原理看,合理的命名需要遵循名副其实、避免误导等基本原则,同时结合具体编程语言的命名约定。在工程实践中,变量、函数、类等不同编程元素的命名策略各有特点,例如变量名应体现业务含义,函数名应使用动词短语明确表达行为。通过自动化工具如SonarQube、ESLint等可以辅助检查命名规范。良好的命名能显著降低代码理解成本,研究表明可提升40%的阅读速度。在微服务架构、领域驱

weixin_33507732的博客 217

JavaScript变量命名黄金法则:Clean Code JavaScript ES深度解析

在JavaScript开发中,变量命名看似简单,实则是影响代码可读性和可维护性的关键因素。遵循Clean Code JavaScript ES规范的变量命名原则,能够让你的代码更加专业、易懂且易于维护。本文将深入解析JavaScript变量命名的核心法则,帮助开发者写出既符合规范又易于理解的高质量代码。 ## 为什么变量命名如此重要? 变量命名是代码可读性的基石。一个好的变量名能够清晰地表达其

gitblog_01144的博客 1080

PHP变量命名误区:clean-code-php教你如何避免

在PHP开发中,**变量命名**看似简单,实则暗藏玄机。clean-code-php项目为我们提供了一套完整的**PHP变量命名规范**,帮助开发者写出更加清晰、易维护的代码。今天,我们就来探讨PHP变量命名中常见的误区,以及如何通过clean-code-php指南来避免这些问题。 ## 💡 为什么要重视变量命名? **变量命名**不仅仅是给变量起个名字那么简单,它直接影响到代码的可读性、可

gitblog_01075的博客 983

Python心理映射消除:clean-code-python循环变量命名技巧

在Python编程中,循环变量命名是一个经常被忽视但极其重要的细节。clean-code-python项目为我们揭示了如何通过合理的命名技巧消除"心理映射"问题,让代码更加清晰易懂。😊 ## 什么是心理映射问题? **心理映射**指的是读者在阅读代码时需要在大脑中"翻译"变量含义的过程。当我们使用模糊的变量名时,比如在for循环中使用`item`、`obj`或`x`,其他人(包括未来的你)需

gitblog_00114的博客 848

Python代码可读性提升指南:clean-code-python命名规范详解

在Python开发中,良好的命名规范是提升代码可读性的关键因素。clean-code-python项目基于Robert C. Martin的《Clean Code》原则,专门为Python开发者提供了一套完整的代码质量提升方案。本文将重点介绍clean-code-python中的变量命名规范,帮助您写出更清晰、更易维护的Python代码。🚀 ## 为什么命名规范如此重要? 好的命名规范能够让

gitblog_00869的博客 385

Python搜索友好命名:clean-code-python常量设计最佳实践

在Python开发中,**常量设计**是编写高质量代码的关键环节。一个优秀的常量命名不仅能提升代码可读性,还能让代码更易于维护和扩展。今天,我们将深入探讨clean-code-python项目中关于**搜索友好命名**的最佳实践,帮助你在Python项目中设计出更加优雅的常量。✨ ## 为什么常量命名如此重要? 良好的常量命名是**Python代码质量**的重要体现。当你的常量名称能够清晰地表

gitblog_00230的博客 933

10个JavaScript变量命名黄金法则:clean-code-javascript实战技巧

作为一名JavaScript开发者,你是否曾经在阅读自己几周前写的代码时感到困惑?变量命名是编写可读、可维护代码的关键要素。今天,我们将基于clean-code-javascript项目,分享10个实用的变量命名黄金法则,帮助你的代码质量提升到一个新的水平!🚀 ## 📝 为什么要关注变量命名? 良好的变量命名不仅仅是个人习惯,它直接影响着代码的可读性、可维护性和团队协作效率。根据clean

gitblog_00329的博客 516

掌握clean-code-php变量命名:写出人类可读的PHP代码的终极指南

在PHP开发中,编写机器能运行的代码很容易,但写出人类能轻松理解的代码却需要技巧。clean-code-php项目正是帮助开发者实现这一目标的实用指南,其中变量命名作为代码可读性的基石,直接影响团队协作效率和代码维护成本。本文将带你系统学习clean-code-php倡导的变量命名原则,让你的PHP代码从此清晰易懂。 ## 为什么好的变量命名对PHP开发至关重要? 变量命名是代码的"语言",一

gitblog_00480的博客 388

PHP变量命名终极指南:clean-code-php教你避免上下文冗余

在PHP开发中,变量命名是提升代码可读性和可维护性的关键环节。clean-code-php项目作为PHP代码规范的实践指南,提供了丰富的变量命名最佳实践。本文将结合该项目的核心思想,教你如何通过科学的命名方式消除上下文冗余,写出专业且易于理解的PHP代码。 ## 为什么变量命名如此重要? 变量名是代码的"脸面",一个好的变量名能够: - 减少注释需求,让代码自我解释 - 加速团队协作,降低沟通

gitblog_00002的博客 614

Clean code 笔记 - 优雅的代码(1)—— 代码命名和函数编写的基本原则

最近在读Clean Code英文原版,入行两年,也该开始逐步提升自己的代码质量了(避免被人吐槽像XX一样的code),以此为记,鞭策自己努力像一个正儿八经的程序媛迈进! 关于命名 优雅的代码: 通过所有的测试 没有重复 尽量少的实体,如类、方法、函数等 命名原则 名副其实: 名字所表达的具体含义、类型清楚 避免误导:避免使用具有特殊意义的字段,避免使用相近的命名造成误导 有意义的区分:如prod...

weixin_33819479的博客 398

终极指南:掌握clean-code-php变量命名规范的10个关键技巧 [特殊字符]

作为PHP开发者,你是否曾为混乱的变量名而头疼?clean-code-php项目为你提供了完整的PHP代码整洁解决方案,其中**变量命名规范**是提升代码可读性和维护性的关键所在。本文将为你详细解析clean-code-php变量命名规范的核心原则,让你轻松写出专业级代码。 ## 📊 为什么变量命名如此重要? 在clean-code-php项目中,变量命名被视为代码质量的第一道防线。良好的变

gitblog_00195的博客 1163
上一篇: Ubuntu 16.04安装android app动态分析工具DroidBox
下一篇: clean code之路——函数
无花果树
博客等级 码龄10年 12粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值