代码规范性

代码规范性

    • 命名规范
    • 代码格式
    • 注释
    • 代码结构
    • 异常处理
    • 代码复用
    • 代码审查
    • 空格的用法
    • 代码示例

命名规范

​ 1、变量和函数名:使用驼峰命名法(camelCase),如userName、getUserInfo。

​ 2、常量:使用全大写字母,并用下划线分隔,如MAX_SIZE、DEFAULT_VALUE。

​ 3、类名:使用帕斯卡命名法(PascalCase),如UserInfo、CarService。

​ 4、文件名:与类名保持一致,或使用小写字母与下划线分隔,如user_info.py、car_service.js。


代码格式

​ 1、缩进:统一使用4个空格或一个制表符(tab)进行缩进。

​ 2、间隔:在运算符前后、逗号后、函数调用参数之间、函数名和括号之间、

​ 关键字(如 if ,for,while )和随后的括号之间添加空格,提高可读性。

​ 同时避免不必要的空格,如不要在括号内部或逗号前后添加不必要的空格。

​ 3、括号:即使可以省略括号,也应该保留,以增强代码清晰度。

​ 4、对齐:确保代码对齐,使代码结构一目了然。

​ 5、变量 == null,空统一放右边。


注释

​ 1、文件头部:提供文件描述、作者、创建日期等信息。

​ 2、函数和类:描述其用途、参数、返回值等。

​ 3、复杂代码段:在代码上方提供简短说明。

​ 4、避免过多注释:代码应尽可能自我解释。


代码结构

​ 1、模块化:将代码组织成模块,每个模块负责一个具体功能。

​ 2、单一职责原则:每个类和函数应该只有一个改变的理由。

​ 3、避免过长的函数和类:保持函数和类的简短,易于理解和维护。

​ 4、空行:使用空行来分割不同的代码块,使得代码结构更加清晰。

​ 5、避免字符串多次拼接,可用String.format(“%s%s”, s1, s2)或者StringBuffer
的append()方法。


异常处理

​ 1、捕获具体异常:避免捕获所有异常,只捕获你预期会发生的异常。

​ 2、错误处理:不要只是打印错误信息,应该有逻辑处理错误情况。

​ 3、资源管理:确保释放所有使用的资源,如文件、数据库连接等。

​ 4、类型转换:通过instanceof判断,再做类型转换,避免类型转换异常。

​ 5、常量判断:常量放前面,如 常量.equal(变量),避免空异常。


代码复用

​ 1、函数和类:如果代码段在多个地方使用,考虑将其抽象成函数或类。

​ 2、库和框架:使用现有的库和框架来避免重复造轮子。


代码审查

​ 1、代码审查:定期进行代码审查,由同事检查代码规范性。

​ 2、自动化工具:使用代码审查工具来检查代码质量和风格。


空格的用法

image-20240716112956998

image-20240716113020916

代码示例

image-20240710203950116

image-20240710204008279

image-20240710204024464

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/46982.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VSCode安装以及安装你需要的插件的保姆级教程

文章目录 前言vscode的简介安装vscode下载安装包 安装中文插件安装C/C插件总结 前言 Visual Studio Code(VSCode)是一款免费、开源且强大的代码编辑器,它具有易于使用的界面和丰富的功能,包括高级代码编辑、导航、调试等功能。VS…

linux高级编程(广播与组播)

广播与组播: 广播: 局域网,一个人发所有人都能收(服务器找客户端),(发给路由器的广播地址后后路由器自动给所有人发,可用于服务器找客户端) 只能udp来做 setsocketopt…

远程访问及控制(ssh)

目录 一、OpenSSH服务器 1.1 SSH(Secure Shell)协议 1.2 OpenSSH 2.1 SSH原理 2.1 1 公钥传输原理 2.1.2 加密原理 2.1.3 SSHD服务的两种验证方式 二、SSH命令中的基本操作 2.1 构建密钥对验证的SSH 2.1.1 公钥和密钥的关系 2.1.2 构建密钥对…

找不到d3dx9_43.dll怎么办,总结5种解决d3dx9_43.dll丢失的方法

很多人经常使用电脑的时候可能遇到过电脑缺失d3dx9_43.dll的情况。这种情况通常是由于不当操作导致病毒感染或软件误删等原因引起的。今天,我将为大家详细讲解电脑缺失d3dx9_43.dll的原因以及几种解决方法。 一、了解d3dx9_43.dll是什么及作用 d3dx9_43.dll 是一个…

腾讯开源 tlbs-map 地图组件库

腾讯宣布开源 tlbs-map,一个基于腾讯位置服务地图 API 开发的 web 端地图组件库,支持在网页绘制地图并在地图上绘制点、线、面、热力图等效果,支持 Vue2、Vue3、React 等业界主流技术栈,旨在帮助开发者低成本开发地图业务 Javascr…

大模型/NLP/算法面试题总结6——为什么会产生梯度消失和梯度爆炸?

梯度消失和梯度爆炸是深度学习中常见的问题,它们主要发生在神经网络的训练过程中,尤其是在使用反向传播算法进行权重更新时。以下是对这两个问题产生原因的详细分析: 一、梯度消失的原因 深层网络结构: 当神经网络层数过多时&am…

c语言-逻辑运算符和逻辑表达式

一 认识三个逻辑运算符 1.&& “逻辑与” 一假则假 2.|| “逻辑或” 一真则真 3.! “逻辑非” 逻辑与和逻辑或都是双目运算符,要求两个操作数;逻辑非为单目运算符 优先级为 !> 算术运算符 > 关系运算符 > &am…

【Blockly图形化积木编程二次开发学习笔记】1.工具箱的实现

文章目录 Blockly 版本选择上手 Blockly 版本选择 在【兰州大学】Blockly创意趣味编程【全36讲】主讲教师:崔向平 周庆国中提到,在18年6月份之前的版本中,可以通过安装依赖库的方式,打开开发者工具的离线版本,但是新版…

框架设计MVVM

重点&#xff1a; 1.viewmodel 包含model 2.view包含viewmodel,通过驱动viewmodel去控制model的数据和业务逻辑 // Test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> #include <vector>using namespace std;#p…

iSCSI 网络存储服务部署

一、介绍 iSCSI &#xff08;Internet Small Computer System Interface&#xff09;&#xff0c;互联网小型计算机系统接口&#xff1b;iSCSI 是SCSI接口 与以太网技术相结合的新型存储技术&#xff0c;属于ip san的一种&#xff0c;可以用来在网络中传输 SCSI 接口的命令和数…

将一个Git仓库地址上传到多个远程仓库

大家好&#xff0c;我是邵奈一&#xff0c;一个不务正业的程序猿、正儿八经的斜杠青年。 1、世人称我为&#xff1a;被代码耽误的诗人、没天赋的书法家、五音不全的歌手、专业跑龙套演员、不合格的运动员… 2、这几年&#xff0c;我整理了很多IT技术相关的教程给大家&#xff0…

逆向案例二十一——sm2加密,某信登录密码加密

网址&#xff1a;电信账号登录 这个登陆页面&#xff0c;会需要过滑块验证码&#xff0c;先不管他&#xff0c;直接找到登陆包&#xff0c;在登陆包之前&#xff0c;有一个这个包返回一串不知道啥作用的先记着。 找到登陆包&#xff0c;密码进行了加密 用xhr断点调试&#xff…

Jmeter常用组件及执行顺序

一 常用组件 1.线程组 Thread Group 线程组是一系列线程的集合&#xff0c;每一个线程代表着一个正在使用应用程序的用户。在 jmeter 中&#xff0c;每个线程意味着模拟一个真实用户向服务器发起请求。 在 jmeter 中&#xff0c;线程组组件运行用户设置线程数量、初始化方式等…

JuiceFS、Ceph 和 MinIO 结合使用

1. 流程图 将 JuiceFS、Ceph 和 MinIO 结合使用&#xff0c;可以充分利用 Ceph 的分布式存储能力、JuiceFS 的高性能文件系统特性&#xff0c;以及 MinIO 提供的对象存储接口。以下是一个方案&#xff0c;介绍如何配置和部署 JuiceFS 使用 Ceph 作为其底层存储&#xff0c;并通…

Linux进程——进程优先级与僵尸进程孤儿进程

文章目录 僵尸进程变成僵尸状态的过程 孤儿进程进程优先级如何修改进程优先级为什么优先级有范围 僵尸进程 僵尸状态进程本质上就是死亡状态 在进程死亡之后&#xff0c;不会直接对进程进行释放&#xff0c;而是先会处理一些后事 进程在结束退出的时候&#xff0c;也会有一些…

力扣第六题——Z字形变换

题目介绍 将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时&#xff0c;排列如下&#xff1a; P A H N A P L S I I G Y I R 之后&#xff0c;你的输出需要从…

spring-cloud和spring-cloud-alibaba的关系

首先Spring Cloud 是什么&#xff1f; Spring Cloud是一系列框架的有序集合&#xff0c;它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。Spring Cloud提供了微服务架构开发所需的多种组件和工具&#xff0c;如服务发现注册、配置中心、消息总线、负载均…

GA-Kmeans-Transformer-GRU时序聚类+状态识别组合模型,创新发文无忧!

GA-Kmeans-Transformer-GRU时序聚类状态识别组合模型&#xff0c;创新发文无忧&#xff01; 目录 GA-Kmeans-Transformer-GRU时序聚类状态识别组合模型&#xff0c;创新发文无忧&#xff01;效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.GA-Kmeans-Transformer-GRU时…

代码随想录训练营第三十七天 完全背包问题 518零钱兑换问题II 377组合总和IV

什么是完全背包&#xff0c;就是在01背包的基础上每个物品可以放无数次&#xff0c;在代码中和01背包不一样的地方只有在遍历顺序上不一致&#xff0c;在遍历背包的顺序上 01背包是从后往前遍历&#xff0c;在完全背包中是从前往后遍历。 第一题&#xff1a; 原题链接&#x…

【Linux网络】poll{初识poll / poll接口 / poll vs select / poll开发多客户端echo服务器}

文章目录 1.初识pollpoll与select的主要联系与区别poll的原理poll的优点poll的缺点poll vs select 2.poll开发多客户端echo服务器封装套接字接口Makefile主函数日志服务聊天服务器 1.初识poll poll是Linux系统中的一个系统调用&#xff0c;它用于监控多个文件描述符&#xff08…