如何拥有一个优雅的变量名?

看完这篇,你的PHP代码优雅一个档次。 文章目录引言基本规范框架规范参数验证控制器Model常量附录 引言 今天老王同学跟我说,他的代码好糟糕,像一坨xiang。问我要怎么 提高自己的代码质量,让自己代码看得顺眼一点,舒服一点, 就像 看到大长腿MM,两眼放光那种。 于是我: 你先这样,然后这样,然后再那样。。。。。。 老王同学: 别闹, 到底是哪样? 好的, 我要开始装13了。。。 基本规范 先说一下最基本的东西: 变量名使用驼峰命名。不懂的单词不要用拼音,而是要查词典找到对应的单词。 常量命名使用大写下划线方式命名。如:SYSTEM 阅读详情

你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。

如果我的分享对你有帮助,请关注我,一起向上进击。

来源:网络

我有一个同事,能力很强,BUG率很低。

但我每次看他的变量命名,都有种想打人的冲动,也不是我太菜,只是.....(直接上代码吧。)

totalNumberOfItems = 150
averageProcessingTime = 5.25
maximumAllowedConnections = 100
configurationSettings = {"timeout": 30, "retries": 5}
initializationParameters = {"mode": "auto", "threshold": 0.75}
temporaryFilePath = "/tmp/data.txt"
currentUserSession = "abc123xyz"
databaseConnectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"
applicationErrorMessage = "An unexpected error occurred."
userAuthenticationToken = "abcdef123456"

这样看起来还好,但是结合到到应用中就会变成这样:

public class AppDemo {
    public static void main(String[] args) {
        // 定义变量
        int totalNumberOfItems = 150;
        double averageProcessingTime = 5.25;
        int maximumAllowedConnections = 100;
        // 配置设置
        Map<String, Integer> configurationSettings = new HashMap<>();
        configurationSettings.put("timeout", 30);
        configurationSettings.put("retries", 5);
        // 初始化参数
        Map<String, Object> initializationParameters = new HashMap<>();
        initializationParameters.put("mode", "auto");
        initializationParameters.put("threshold", 0.75);
        // 临时文件路径
        String temporaryFilePath = "/tmp/data.txt";
        // 当前用户会话
        String currentUserSession = "abc123xyz";
        // 数据库连接字符串
        String databaseConnectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
        // 应用程序错误信息
        String applicationErrorMessage = "An unexpected error occurred.";
        // 用户认证令牌
        String userAuthenticationToken = "abcdef123456";
        // 输出变量值
        System.out.println("Total Number of Items: " + totalNumberOfItems);
        System.out.println("Average Processing Time: " + averageProcessingTime);
        System.out.println("Maximum Allowed Connections: " + maximumAllowedConnections);
        System.out.println("Configuration Settings: " + configurationSettings);
        System.out.println("Initialization Parameters: " + initializationParameters);
        System.out.println("Temporary File Path: " + temporaryFilePath);
        System.out.println("Current User Session: " + currentUserSession);
        System.out.println("Database Connection String: " + databaseConnectionString);
        System.out.println("Application Error Message: " + applicationErrorMessage);
        System.out.println("User Authentication Token: " + userAuthenticationToken);
    }
}

如果业务逻辑再复杂点,代码我觉得就不能看了。

我觉得会命名简洁的缩写变量名让代码观感有质的提升!!

请看以下代码!

import java.util.HashMap;
import java.util.Map;

public class AppDemo {
    public static void main(String[] args) {
        // 定义变量
        int ttlItems = 150;
        double avgTime = 5.25;
        int maxConns = 100;
        // 配置设置
        Map<String, Integer> config = new HashMap<>();
        config.put("timeout", 30);
        config.put("retries", 5);
        // 初始化参数
        Map<String, Object> initParams = new HashMap<>();
        initParams.put("mode", "auto");
        initParams.put("threshold", 0.75);
        // 临时文件路径
        String tmpPath = "/tmp/data.txt";
        // 当前用户会话
        String curSess = "abc123xyz";
        // 数据库连接字符串
        String dbStr = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
        // 应用程序错误信息
        String errMsg = "An unexpected error occurred.";
        // 用户认证令牌
        String authTok = "abcdef123456";
        // 输出变量值
        System.out.println("Total Items: " + ttlItems);
        System.out.println("Average Time: " + avgTime);
        System.out.println("Maximum Connections: " + maxConns);
        System.out.println("Configuration Settings: " + config);
        System.out.println("Initialization Parameters: " + initParams);
        System.out.println("Temporary File Path: " + tmpPath);
        System.out.println("Current User Session: " + curSess);
        System.out.println("Database Connection String: " + dbStr);
        System.out.println("Application Error Message: " + errMsg);
        System.out.println("User Authentication Token: " + authTok);
    }
}

如何命名优雅的缩写变量名?

变量名缩写规则通常涉及以下几项原则:

简洁明了

变量名应尽量简短,但同时要有意义,能够反映变量的内容或用途。

例如,totalCount 可以缩写为 tCount。

去除元音

可以去掉变量名中的元音以缩短长度。

例如,comment 可以缩写为 cmt,total 可以缩写为 ttl。

一个单词超过8个字母的,建议使用缩写。

使用驼峰式命名

对于多个单词组成的变量名,采用驼峰式命名法,使每个单词的首字母大写,紧凑在一起。

例如,userName 可以缩写为 uName。

避免歧义

即使是缩写,也要确保变量名不易混淆或产生歧义。

例如,maximum 可以缩写为 max,但不要缩写为 m,因为太短且不具备辨识度。

开发常用缩写参照

  1. Identifier(标识符)

  • identifier -> id

Message(消息)

  • message -> msg

  • messages -> msgs

Number(数字)

  • number -> num

Length(长度)

  • length -> len

Index(索引)

  • index -> idx

Count(计数)

  • count -> cnt

Value(值)

  • value -> val

Parameter(参数)

  • parameter -> param

  • parameters -> params

Temporary(临时)

  • temporary -> tmp

Configuration(配置)

  • configuration -> config

  • configuration -> cfg

Information(信息)

  • information -> info

Database(数据库)

  • database -> db

组合词缩减

  1. User Profile(用户资料)

  • userProfile -> uProf

Session Token(会话令牌)

  • sessionToken -> sessTok

Transaction ID(交易ID)

  • transactionID -> transID

Maximum Value(最大值)

  • maximumValue -> maxVal

Minimum Value(最小值)

  • minimumValue -> minVal

File Name(文件名)

  • fileName -> fName

Database Connection(数据库连接)

  • databaseConnection -> dbConn

Configuration File(配置文件)

  • configurationFile -> cfgFile

Application Programming Interface(应用程序接口)

  • applicationProgrammingInterface -> api

Primary Key(主键)

  • primaryKey -> pk

其他

  1. 用户信息相关

  • userName -> uName

  • userEmail -> uEmail

  • userPassword -> uPwd

文件操作相关

  • filePath -> fPath

  • fileSize -> fSize

  • fileExtension -> fExt

时间相关

  • currentTime -> curTime

网络请求相关

  • requestURL -> reqURL

  • responseData -> resData

  • responseCode -> resCode

最后

你们有见过哪种变量名很长,可以在评论区留言,让大家一起讨论下如何缩短它!

- EOF -

文章已经看到这了,别忘了在右下角点个“赞”和“在看”鼓励哦~

推荐阅读  点击标题可跳转

1、Python 项目工程化最佳实践

2、Python 可以比 C 还要快!

3、streamlit,一个超强的 Python 库

4、豆瓣8.9分的C++经典之作,免费送!

5、Python 3.12 版本有什么变化?

最近我开了一家淘宝店,名字叫【打破壁垒】,主打程序开发相关付费素材、工具的共享类商品,帮助大家降低试错和使用成本。欢迎大家关注。

bef66f360474a1a3752fe4b16a2db090.jpeg

长按扫描下方二维码,然后点击页面中的【打开淘宝】,即可进入店铺:

64210ef5ab1851259b88097030eaa026.png

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版

👇关注我的公众号👇

告诉你更多细节干货

d6a8c044620fe5b9589357c82e588513.jpeg

欢迎围观我的朋友圈

👆每天更新所想所悟

26个写出简洁优雅JavaScript代码的技巧 请注意,如果您使用它们,您的函数将只为未定义的参数提供默认值。它的代码易于理解,没有多余的部分,简单,并且可以通过测试。为了帮助你编写出色的 JavaScript 代码,我将在今天的内容中与你分享 26 个写干净代码的技巧,这些技巧将指导你编写既优雅又高效的代码。Promise 是回调的一个非常干净的替代方案,但 ES2017/ES8 带来了 async 和 wait,它提供了更干净的解决方案。 阅读详情

相关推荐

MATLAB循环中动态变量名创建:从eval到结构体、表格与Map的优雅实现

在数据处理与自动化脚本编写中,高效组织和管理批量生成的数据是提升代码质量的关键。动态变量名创建旨在解决按规律命名变量的需求,其核心原理是放弃创建多个独立变量,转而利用结构化数据容器进行统一管理。这一技术能显著提升代码的可读性、可维护性和执行效率,避免因滥用eval函数导致的调试困难和性能瓶颈。在MATLAB中,结构体动态字段、元胞数组、表格和映射容器是实现该需求的四种主流方案,尤其适用于实验数据处理、参数化仿真和批量文件分析等场景。本文将重点探讨结构体动态字段和映射容器这两种高效方案,帮助开发者根据数据特点

weixin_34090562的博客 325

变量名命名网站(强烈推荐)

变量名命名网站(强烈推荐) 网站地址 https://unbug.github.io/codelf/ 说明 Codelf通过搜索在线开源平台Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Project的项目源码,帮开发者从中找出已有的匹配关键字的变量名,从而帮助开发者命名变量。 这些命名都是符合驼峰命名法,有了这个插件以后,以后编代码时,就不会在为如何给变量命名而苦恼了。 使用 了。 使用 ...

java技术博客 2万+

JS 对象属性简写:属性名与变量名相同时的简洁写法

各位靓仔靓女们,早上好(或者中午好、下午好、晚上好,取决于你看到这篇文章的时间),今天咱们来聊聊JavaScript里一个能让你代码更优雅、更简洁的小技巧:对象属性简写。简单来说,当你想创建一个对象,并且对象里某些属性的名称恰好跟已经存在的变量名一样时,就可以使用属性简写。这就像你跟你的好基友小明同名,别人叫你“小明”,也确实是在叫你,省事儿!时,才能使用属性简写。现在,你可以尝试在你的代码中使用对象属性简写,让你的代码更加赏心悦目吧!变量已经存在,并且你想创建一个新的对象,那么就可以使用对象属性简写。

weixin_41455464的博客 1090

推荐一个命名变量的神奇网站 CODELF

我们在做项目的时候总是要对一些变量名、类名、函数名之类的东西有一个规范化的命名,但是怎么命名更好呢,这几天无意中翻阅到一个神奇的变量名命名网站https://unbug.github.io/codelf/ 这个网站神奇之处是可以根据你输入的关键词,给出很多变量命名的推荐。并且支持中文输入推荐,简单好学易用。 CODELF 通过搜索在线开源平台 Github, Bitbucket, Googl...

GLOBE TREKKER 2万+

10个秘诀教你写出超棒的C#变量名,你学会了吗?

🔥关注墨瑾轩,带你探索编程的奥秘!🚀🔥超萌技术攻略,轻松晋级编程高手🚀🔥技术宝库已备好,就等你来挖掘🚀🔥订阅墨瑾轩,智趣学习不孤单🚀🔥即刻启航,编程之旅更有趣🚀嘿,小伙伴们!今天咱们来聊聊一个超级重要的主题——如何给C#中的变量起一个既专业又易懂的名字。是不是觉得这听起来有点儿像给宠物取名?其实还真有点类似呢!好的变量命名不仅能让代码更加清晰易读,还能让你在团队协作中成为大家心目中的“代码诗人”。那究竟怎样才能做到这一点呢?接下来就让我们一起探索吧!

java专栏 1712

〖进阶篇1〗YAML参数解析:从nav2_params.yaml看机器人导航调优

本文深入解析了ROS2 Nav2导航系统中关键的nav2_params.yaml文件,提供了从定位、行为树、运动控制到环境感知等核心模块的参数调优实战指南。文章通过具体场景案例,如狭窄走廊、动态仓库和高精度对接,详细阐述了如何调整AMCL粒子数、控制器权重、代价地图膨胀半径等参数,以解决机器人导航中的犹豫、碰撞和精度问题,帮助开发者实现从“能用”到“好用”的进阶。

m9n0o的博客 417

最近发现了一个起变量名字的网站,简洁好用记录一下

开发者特别贴心,完全不用操作鼠标,进入页面会直接锁定搜索框,输入内容后按下回车,生成变量名,直接ctrl+c 复制变量名,回去自己用就行啦。

cn_lijian的博客 1554

Seurat 单细胞转录组测序数据分析教程(三)——python(scanpy)

文章参考至,做了一个更详细的解读。本教程探讨了 scanpy 的可视化可能性,分为三个部分:嵌入的散点图(例如 UMAP、t-SNE)使用已知标记基因鉴定簇差异表达基因的可视化在本教程中,我们将使用来自 10x 的数据集,其中包含来自PBMC的 68k 个细胞。Scanpy 在其分布中包括该数据集的简化样本,该数据集仅包含 700 个细胞和 765 个高度可变的基因。该数据集已经过预处理和 UMAP 计算。在本教程中,我们还将使用以下文献标记:B细胞:CD79A、MS4A1。

coffeeii的博客 5826

Python 如何根据变量得到变量名

应用场景:https://github.com/gt11799/Direcited_graph

gt11799的专栏 4977

实战分享:如何用Dify和MaxKb实现文档智能切分与高效检索(附代码解析)

本文详细介绍了如何结合Dify和MaxKB构建文档智能切分与高效检索系统。针对传统全文检索的不足,提出了结构感知的文档切分方案,通过解析文档层级关系并构建标题链,实现了精准的章节级检索。文章包含完整的代码实现,涵盖文档解析、智能切分、向量化策略及双索引优化,并分享了性能调优和生产环境实践经验。

qsc90123456的博客 543

Perplexity AI 高效使用培训手册

Perplexity AI 是一款革命性的 AI 搜索引擎,提供免费版和专业版两种选择。免费版支持基础搜索、每日3次Pro搜索、3个文件上传和初步深度研究功能;Pro版则解锁无限次Pro搜索、无限制文件上传、AI图像生成等高级功能,适合专业用户深度研究。该工具能整合网络信息、分析本地文档、生成创意内容,并提供知识库管理功能,显著提升信息检索和内容创作效率。用户可根据需求选择合适版本,免费版已能满足日常使用,而Pro版则更适合专业场景。

conquer_qgw的博客 1205

如何优雅的起个变量名?

如何优雅的起个变量名? 命名神器 CODELF 网址 : https://unbug.github.io/codelf/ 网站简介:在我们写程序的时候,大部分开发者或多或少遇到过变量命名的烦恼,如果命名不规范,不仅会影响开发的效率,而且对后面维护的同学来说也是一个不小的挑战,因为他要去揣摩你这个变量的含义。总是需要去给各种变量命名。于是各种命名大法都上来了,有拼音的,有首字母缩写的,各种各样。而我们推荐的命名肯定是英文的驼峰命名。首推宝藏网站:CODELF 好东西要一起分享!!! ...

道阻且长,行则将至。 5943

开关电源|控制方式PWM、PFM、混合调制

频率调制器根据误差放大器的输出大小来改变方波信号的频率,若负载电流突然增加,输出电压 Vout随之下降,反馈电压 VFB 减小,此时误 差放大器的输出增高,频率调制器输出方波信号的频率增大,增加电感充电次数;若负载电流突然增加,输出电压Vom随之下降,反馈电压Vr减小,此时误差放大器的输出增高,PWM比较器输出方波信号的占空比增大,增加电感充电时间:若负载电流突然下降,PWM比较器输出方波信号的占空比减小,减少电感充电时间,从而稳定输出电压。它是在固定开关频率下,通过改变脉冲宽度来调节占空比的。

weixin_46969363的博客 1万+

c++如何把字符串转为变量名_如何优雅地计算多变量

作者:包寒吴霜中科院心理所硕士在读(名字/人格/社会/文化心理学)知乎:https://www.zhihu.com/people/psychbruce社会科学研究经常会遇到“超多变量”的情况——多量表、多维度、多题项,以及复杂的正反计分题……如何更高效地计算量表总分?如何更简洁地进行反向计分?本文将为大家分享如何使用R语言(data.table包 + 自编函数)优雅地计算多变量。当我们的...

weixin_42371098的博客 3334

手把手教你学Simulink——基于经典PID控制的电机系统场景实例:永磁同步电机(PMSM) PID转速控制仿真

*永磁同步电机(PMSM)因其高效、高功率密度和良好的动态响应特性,在现代工业自动化、电动汽车驱动系统等领域得到了广泛应用。为了实现对PMSM的速度精确控制,通常采用矢量控制(Field Oriented Control, FOC)**策略,其中PID控制器是实现速度环和电流环调节的关键组件。本教程将带你使用构建一个基于PID控制的永磁同步电机转速控制系统仿真模型PMSM电机建模矢量控制(FOC)策略实现PID控制器设计系统仿真与调试控制效果分析本文介绍了如何使用构建一个。

MHD0815的博客 6950

Aurix TC3xx系列MCU ADC模块简介(一)

简单介绍英飞凌Aurix TC3xx系列单片机ADC模块的特点及内部结构。

m0_38045338的博客 6357

如何命名变量,让变量名更加优雅

在开发的过程中,我们总是会疑惑,如何给这个变量命名才能让使自己的代码更容易被别人理解。当leader review完代码时,有时会指出我们变量命名不合理,那么我们如何才能让命名合理化? 1、根据自己代码的意义来命名: eg:获取用户信息:getUserInfo 2、研究代码的上下文,观察之前代码的命名风格 function getConfigureList() { return dispatch...

USTC-sparks 2478

DRM遇到的实际问题及领悟(3)

DRM遇到的实际问题及领悟(3)

phmatthaus的专栏 635

《代码大全》之变量名的力量

想要写优雅的代码,第一步就是取好变量名。作为代码最基本的组成元素,取一个好的变量名的重要性不言而喻。且看《代码大全》中是如何分说。 一个好的变量名是可读的、易记的和恰如其分的。可以通过应用多条原则来实现这些目标。最重要的命名注意事项为变量命名时最重要的考虑事项是,该名字要完全、准确地描述出该变量所代表的事物。

光源的专栏 752

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

js案例--处理变量名

变量名处理的思路整理: 1.将字符分割为数组,map是对象的方法 2.map返回处理的数据 3.(item是字符串类型)利用字符串的伪数组特性 <script> //变量名的处理采用es5新增map(),传递回调函数,回调函数里面return修改的值 // var msg = 'get-element-by-id'; // var ar = msg.split('-').map(function(item,index){ //

weixin_47204963的博客 269

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

python中文变量名_如何评价 python 中文变量名?

你觉得需要用,那就用。不要追求虚无缥缈的规则,也不要在意别人那种有点中二的优越感。反对中文变量名的人,要不就是自大狂,要不就是蠢。因为使用母语命名变量是刚需,任何不提这一点的人都没想清楚。你现在只是小白阶段,工作之后难免会遇到用英语无法简洁准确描述的东西。比如一个学校的某个系统,请问怎么优雅的表示地理老师、生物老师、生理卫生老师、职业生涯规划老师这些老师?怎么表示经济、金融、行政管理、工商管理、旅...

weixin_39830020的博客 251

蓝牙模块HM-10手册

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

如何写出优雅的 JS 代码,变量和函数的正确写法

在开发中,变量名,函数名一般要做到清晰明了,尽量做到看名字就能让人知道你的意图,所以变量和函数命名是挺重要,今天来看看如果较优雅的方式给变量和函数命名。变量使用有意义和可发音的变量名//...

粉丝们务必加入微信粉丝群 1337

如何让命名变得优雅

1.概述   在写这篇文章时,我也是酝酿了许久;在平时编码时,也经常苦于如何命名让变量,函数及类变都优雅,美观。因为,有时候看回过头来看代码发现,一个变量或是函数名特别是有单词组合都时候,会觉得有些单词组合在一起,看起来很别扭。举个例子,如类型统计:typeStats,statsType,categoryStats,statsCategory。其中2看的...

weixin_34186950的博客 292

优雅的代码是什么样的?

在软件开发领域,代码不仅是机器可执行的指令,更是开发者之间沟通的语言。一行优雅的代码,能让阅读者如沐春风;一段混乱的代码,却可能成为团队协作的 “绊脚石”。那么,究竟什么是优雅的代码?如何在实际开发中写出既美观易懂,又兼顾性能与可维护性的代码?本文将从定义、实践与平衡三个维度,带你探索优雅代码的奥秘。

2402_88547960的博客 821
上一篇: 豆瓣9.3,这本书火了29年,被哈佛、剑桥、清华等1500多所大学用作教材!
下一篇: 编程主要是思考
codingpy
博客等级 码龄11年 1866粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值