首页/新闻资讯/正文详情

【设计模式之美】快速地改善代码质量的几条编程规范(上)

发布时间:2026/11/3 1:14:09 来源:云帆数科 栏目:资讯中心
【设计模式之美】快速地改善代码质量的几条编程规范(上)
文章目录一. 命名二. 关于注释三. 代码风格超实用的改善代码质量的编程规范一. 命名关于命名命名的关键是能准确达意。作用域小的变量比如临时变量可以适当地选择短一些的命名方式。我们可以借助类的信息来简化属性、函数的命名利用函数的信息来简化函数参数的命名。命名要可读、可搜索。不要使用生僻的、不好读的英文单词来命名。除此之外命名要符合项目的统一规范不要用些反直觉的命名。在 User 类这样一个上下文中我们没有在成员变量的命名中重复添加“user”这样一个前缀单词而是直接命名为 name、password、avatarUrl。在使用这些属性时候我们能借助对象这样一个上下文表意也足够明确。具体代码如下所示UserusernewUser();user.getName();// 借助user对象这个上下文//除了类之外函数参数也可以借助函数这个上下文来简化命名。publicvoiduploadUserAvatarImageToAliyun(StringuserAvatarImageUri);//利用上下文简化为publicvoiduploadUserAvatarImageToAliyun(StringimageUri);二. 关于注释关于注释注释的目的就是让代码更容易看懂。只要符合这个要求的内容你就可以将它写到注释里。总结一下注释的内容主要包含这样三个方面做什么、为什么、怎么做。对于一些复杂的类和接口我们可能还需要写明“如何用”。类和函数一定要写注释而且要写得尽可能全面、详细而函数内部的注释要相对少一些一般都是靠好的命名、提炼函数、解释性变量、总结性注释来提高代码可读性。三. 代码风格函数、类多大才合适函数的代码行数不要超过一屏幕的大小比如 50 行。类的大小限制比较难确定。一行代码多长最合适最好不要超过 IDE 显示的宽度。当然限制也不能太小太小会导致很多稍微长点的语句被折成两行也会影响到代码的整洁不利于阅读。善用空行分割单元块对于比较长的函数为了让逻辑更加清晰可以使用空行来分割各个代码块。在类内部成员变量与函数之间、静态成员变量与普通成员变量之间、函数之间甚至成员变量之间都可以通过添加空行的方式让不同模块的代码之间的界限更加明确。四格缩进还是两格缩进我个人比较推荐使用两格缩进这样可以节省空间特别是在代码嵌套层次比较深的情况下。除此之外值得强调的是不管是用两格缩进还是四格缩进一定不要用tab 键缩进。大括号是否要另起一行我个人还是比较推荐将大括号放到跟上一条语句同一行的风格这样可以节省代码行数。但是将大括号另起一行也有它的优势那就是左右括号可以垂直对齐哪些代码属于哪一个代码块更加一目了然。类中成员的排列顺序在 Google Java 编程规范中依赖类按照字母序从小到大排列。类中先写成员变量后写函数。成员变量之间或函数之间先写静态成员变量或函数后写普通变量或函数并且按照作用域大小依次排列。这里讲到所有的代码风格都没有对错和优劣之分只要能在团队、项目中统一即可不过最好能跟业内推荐的风格、开源项目的代码风格相一致。参考王争-《设计模式之美》

相关推荐

2024年Java高阶
2024年Java高阶

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:13:09

深入浅出HBase:一文理解HBase基础概念(列存储、时间戳、key-value)、架构特点以及适合的使用场景
深入浅出HBase:一文理解HBase基础概念(列存储、时间戳、key-value)、架构特点以及适合的使用场景

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:13:09

【nginx实战】nginx正向代理、反向代理、由反向代理实现的负载均衡、故障转移详解
【nginx实战】nginx正向代理、反向代理、由反向代理实现的负载均衡、故障转移详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:13:09

Instant-NuRec安全与伦理考量:在自动驾驶仿真中的责任使用指南
Instant-NuRec安全与伦理考量:在自动驾驶仿真中的责任使用指南

Instant-NuRec安全与伦理考量:在自动驾驶仿真中的责任使用指南 Instant-NuRec作为一款高效的图像转3D高斯模型,在自动驾驶仿真场景构建中展现出显著价值。它能在2分钟内将多视角图像转换为高精度3D高斯点云,为自动驾驶算法测试提供关键场景素… · 2026/11/3 1:40:16

Qwen3-VL-32B Ultra Heretic模型验证指南:确保张量结构与量化质量
Qwen3-VL-32B Ultra Heretic模型验证指南:确保张量结构与量化质量

Qwen3-VL-32B Ultra Heretic模型验证指南:确保张量结构与量化质量 Qwen3-VL-32B Ultra Heretic模型是一款针对ComfyUI优化的图像文本生成模型,提供BF16和INT8 ConvRot等多种量化格式,确保在不同硬件环境下的高效运行。本指南将详细介绍如何验… · 2026/11/3 1:40:16

Youtu-LLM-2B-Base:如何用20亿参数解决边缘AI智能代理部署难题
Youtu-LLM-2B-Base:如何用20亿参数解决边缘AI智能代理部署难题

Youtu-LLM-2B-Base:如何用20亿参数解决边缘AI智能代理部署难题 在AI模型部署的实践中,企业面临着一个关键矛盾:大型语言模型提供强大能力但计算成本高昂,小型模型部署轻便但智能代理能力不足。腾讯Youtu-LLM-2B-Base以1.96亿参数规… · 2026/11/3 1:40:16

BFS-Best-Face-Swap版本对比:从V1到V5,哪个AI换脸模型最适合你的需求?
BFS-Best-Face-Swap版本对比:从V1到V5,哪个AI换脸模型最适合你的需求?

BFS-Best-Face-Swap版本对比:从V1到V5,哪个AI换脸模型最适合你的需求? 在AI图像编辑领域,高质量的面部交换技术一直是创作者和开发者关注的焦点。BFS(Best Face Swap)系列LoRA模型为Qwen Image Edit 2509/2… · 2026/11/3 1:40:16

4240亿参数多模态巨兽开源!ERNIE 4.5重构AI产业格局
4240亿参数多模态巨兽开源!ERNIE 4.5重构AI产业格局

4240亿参数多模态巨兽开源!ERNIE 4.5重构AI产业格局 导语:效率革命来了!ERNIE 4.5以异构MoE架构突破大模型落地瓶颈 2025年AI产业最重磅事件——百度ERNIE 4.5系列大模型正式开源!这个包含从0.3B到424B参数量的10款模型家族&… · 2026/11/3 1:40:16

netboot.xyz 网络启动故障排除指南:从通电到装机的完整排障路线
netboot.xyz 网络启动故障排除指南:从通电到装机的完整排障路线

netboot.xyz 网络启动故障排除指南:从通电到装机的完整排障路线 【免费下载链接】netboot.xyz Your favorite operating systems in one place. A network-based bootable operating system installer based on iPXE. 项目地址: https://gitcode.com/gh_mirrors/n… · 2026/11/3 1:39:16

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18

STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码