代码整洁之道——初写代码者易犯的错误

Jetson AGX ORIN硬件初始化和环境部署 orin预安装了ubuntu20.04,只需开机,像重装系统一样设置用户信息即可,可以参考官网的教程[https://developer.nvidia.com/embedded/learn/get-started-jetson-agx-orin-devkit],官网提供了两种方式:一种是orin + 显示器,orin有提供DP接口,你需要准备一台显示器,最好也是有DP口的,因为我用DP转HDMI的连的,分辨率会受影响。确认安装的路径,一般直接回车安装在默认的 /home/你的名字/anaconda3。 阅读详情

1、不必要的重复代码

      很多初学者喜欢复制粘贴,是个非常不好的习惯,最后导致系统充斥着大量重复的代码,对后期的维护相当不便。这个是初学者最易犯的低级错误。


2、逻辑混乱、思路不清晰

     

     我曾见过这样的代码

   boolean flag;

  flag = str.indexOf(",")>-1;
                        if(flag==false)

大家注意这句

if(flag==false)

当然这个不能算错误,但是给人的感觉很不好。


还有三四层的if  else 、循环里面套三四层的循环,绝对看到你头晕脑胀。


例如以下代码:

if(userObj!=null){
	if(!"3".equals(userObj.getType())){
		if("1".equals(userObj.getStatus()))
			throw new DefineException("");
		if("2".equals(userObj.getStatus()))
			throw new DefineException("");
	}else{
		throw new DefineException("");
	}
}else{
  throw new DefineException("");
}

既然已经抛出异常了,咋还写这么多if else,还有这么多 1 2 3谁又知道是什么意思,若是以后1 2 3 含义有变化那就要到处修改了。 修改如下

  if(userObj==null){
        throw new DefineException("");
    }
         
    if(UserObj.TYPE_WEB.equals(userObj.getType())){
        throw new DefineException("");
    }
    if(UserObj.STATUS_LOCKED.equals(userObj.getStatus())){
        throw new DefineException("");
    }
    if(UserObj.STATUS_INVALID.equals(userObj.getStatus())){
        throw new DefineException("");
    }
    

将状态以静态常量的方式写到VO类里面,这样以后维护起来也方便一些。


3、类的职责过多

      这个也是初学者经常犯的错误,违反单一职责原则,将本来不属于A类的功能写到A类里来。造成耦合过高。


能力有限暂时写这么多,抛砖引玉。欢迎大家补充集思广益,后续我将大家的意见整理出来,持续更新。






通信原理 | 随机数仿真 | 均匀、正态、双高斯、瑞利、莱斯、对数正态、nakagami、Suzuki分布的随机数仿真(matlab) 信道建模在通信系统设计和分析中扮演着至关重要的角色。它指的是使用数学和物理模型来描述和模拟无线或有线通信路径中的信号传播特性。 阅读详情

相关推荐

从零搭建SPI通信系统:AXI Quad SPI IP核在Xilinx平台上的完整配置流程

本文详细介绍了在Xilinx平台上使用AXI Quad SPI IP核从零搭建SPI通信系统的完整配置流程。涵盖IP核架构解析、Vivado环境配置、寄存器编程实战及性能优化策略,帮助开发者快速实现高速稳定的SPI通信,特别适用于嵌入式系统开发中的外围设备连接需求。

hh234的博客 1052

7、代码整洁之道——错误处理(异常处理)

错误处理很重要,但如果它搞乱了代码逻辑,就是cuowu

yezihumengjuan的专栏 613

基于STM32的Modbus TCP多主站数据监测

Modbus TCP通信协议在STM32上实现,STM32作为服务器采集内部传感器数据,并通过ADC进行转换,存入寄存器。两个PC机作为客户端访问服务器,服务器通过Socket通信实现监听连接,将数据发送给客户端。

hyp12347的博客 4294

代码整洁之道精华——第七章 错误处理

阅读本文有两种原因:第一,你是个程序员;第二,你想成为更好的程序员。你如果想成为更好的程序员,那就请细细品味文章内容,它绝不会让你失望。

xiaouncle的博客 740

激光可燃气体传感器:核心技术环节分析

激光可燃气体传感器核心技术涵盖七个维度:1)TDLAS光谱吸收与调制技术(检测下限ppm级);2)DFB激光器与双闭环温控系统(波长稳定性±0.0036nm);3)微弱信号处理技术(信噪比提升60dB);4)环境补偿算法(温压补偿误差<±1%);5)本质安全防爆设计(ExiaIICT4Ga等级);6)智能边缘计算(STM32L476芯片);7)多重性能验证(响应时间<1秒)。通过微型化、多气体检测等创新,该技术已在工业安全等领域替代传统方案,实现高精度检测。(149字)

上市公司前技术负责人,20 年软硬件深耕 + 百人研发团队管理经验,名校理工科背景加持。从技术攻坚到团队掌舵,沉淀海量项目实战与管理心得,专注分享软硬件干货、疑难问题解决方案,既是靠谱知识传播者,也盼链接优质项目共成长。 1042

FastBuilding 3DMAX插件:批量生成配楼,让建筑可视化告别手动重复建模

在建筑可视化与城市规划项目中,配楼群是营造城市氛围和方案完整度的关键,但几十上百栋配楼的建模往往成为工期瓶颈。传统复制粘贴或BOX贴图方式无法兼顾真实感与效率。FastBuilding作为一款3DMAX插件,通过参数化生成逻辑,将配楼制作转化为可调控的流水线:设定层高、面宽、窗户密度等参数,即可在视口内实时生成带完整外立面细节的实体模型;支持点选拉框和样条线批量生成两种模式,配合随机种子可快速产出丰富而不失协调的建筑群。该插件不仅面数控制合理,生成模型仍可继续编辑,尤其适合住宅区鸟瞰、规划投标及远景天际线等

weixin_28520495的博客 251

代码整洁之道-读书笔记之错误处理

代码整洁之道值错误处理

constant_rain的博客 378

从零构建腾讯滑块验证码破解引擎:逆向工程与实战对抗

本文深入解析腾讯滑块验证码(原天御验证码)的防护机制,包括环境感知层、行为分析层和验证决策层的核心技术。通过JSVMP虚拟机保护、轨迹验证算法和动态加密体系,腾讯验证码实现了高效的人机识别。文章还提供了安全研究实践指南,涵盖环境模拟和验证码识别方案,并探讨了防御对抗的演进趋势与合规研究建议。

rl6adventurer的博客 830

代码整洁之道——如何写出整洁高效的代码

适合初学者和对代码规范一知半解的朋友

weixin_49808281的博客 2592

G.6 PaddleHub实战篇{ERNIE实现文新闻本分类、ERNIE3.0 实现序列标注}【四】

百度飞桨:ERNIE 3.0 、通用信息抽取 UIE、paddleNLP的安装使用[一]_汀、的博客-优快云博客PaddleHub--飞桨预训练模型应用工具{风格迁移模型、词法分析情感分析、Fine-tune API微调}【一】_汀、的博客-优快云博客 PaddleHub--{超参优化AutoDL Finetuner}【二】_汀、的博客-优快云博客PaddleHub实战篇{词法分析模型LAC、情感分类ERNIE Tiny}训练、部署【三】_汀、的博客-优快云博客通过前面几篇文章大家都有一定了解,下面

丨汀、的博客 6185

使用C#实现Padim算法的训练和推理:智能缺陷检测的前沿技术

Padim (Patch-based Deep Image Model) 是一种用于无监督异常检测的深度学习算法。它通过提取图像中的局部特征(patch),并在这些特征上构建一个正常样本的分布模型来识别异常。无监督学习:不需要标注数据,适用于缺乏标签的情况。局部特征提取:通过卷积神经网络提取图像的局部特征(patch)。低秩近似:利用低秩近似构建正常样本的协方差矩阵,有效降低计算复杂度。鲁棒性强:能够处理多种类型的缺陷和噪声。

墨夶的博客 1013

Thrift之java实例

Thrift之java实例

深之JohnChen的专栏 1404

【unity游戏开发之InputSystem——01】通过写代码监听InputSystem输入(基于unity6开发介绍)

通过写代码监听InputSystem输入(基于unity6开发介绍)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 4892

代码整洁之道——代码编写原则

《clean code》中编写代码中比较通用的代码编写原则,遵循这些原则能够大大增加我们代码的可读性,有助于代码后期维护和交接。 欢迎大家来我的个人博客玩耍~ https://xuchang-x.github.io/ 整洁代码的意义 随着脏代码增加,团队生产力持续下降趋向于零。当生产力下降时,管理层就只有增加更多忍受到项目中,期望提升生产力。可是新人并不熟悉系统的设计,搞不清楚什么样的修改符合设计意图,什么样的修改违背设计意图。于是他们制造更多的混乱,生产力向零的那端不断下降。 命名原则 核心原则:采用

weixin_37587973的博客 675

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

efm32 入门.pdf

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

代码整洁之道——最佳实践小结

摘要: Any fool can write code that a computer can understand. Good programmers write code that humans can understand. 普通的工程师堆砌代码,优秀的工程师优雅代码,卓越的工程师简化代码。 普通的工程师堆砌代码,优秀的工程师优雅代码,卓越的工程师简化代码。如何写出优雅整洁易懂的代...

AlbenXie的博客 326

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

代码整洁之道——读后感

时隔三年,这是第二次阅读《代码整洁之道》,并以第三者的角度来看代码质量的问题,感慨良多。最主要的是我们要去写具有表达力、张力的代码;在修改时,每次签出都要比来时更整洁,千里之行始于足下。 写代码,本质上写法与中学作文无异,写的过程和好故事都需要兼顾。实现了业务功能的代码只是作为一个开始,软件的生命周期决定了它后期还需要人来持续的维护,而不同的人代码风格迥异。整洁代码就如同一门语言...

Sudouble的专栏 2387

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

代码整洁之道——读书小结

代码整洁之道第一章

qq_39175089的博客 213

整洁代码之道——Robert C.Martin (整理~上)

1.什么是整洁的代码 代码逻辑直接了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护;依赖某种分层战略完善错误处理代码;性能调至最优,省的引诱别人做没规矩的优化,搞出一堆混乱来。整洁的代码只做好一件事。 ——Bjarne Stroustrup 正如破窗理论。窗户破损的建筑让人觉得似乎无人照管。于是别人也不再关心。他们放任窗户继续破损。最终自己也加入了破坏活动,一扇破损的窗户开辟了大厦走向倾颓...

ssddffgg7455的博客 596

代码整洁之道——命名与函数

有意义的命名 做有意义的区分 不要以数字系列命名    没有提供导向作者意图的线索。如public void copyChars(char a1[], char a2[]) 如果将参数名改成source和destination,就会像样许多。 不要使用有相同意义的名字    如ProductInfo和ProductData类,很难区分两者的区别。 使用读得出来

candycat 3296

代码整洁之道——坏味道

《clean code》中对一些代码中坏味道(bad smell)的总结,在编写代码的过程中应该多注意不要出现列表中的问题,使代码具有更高的可读性。 欢迎大家来我的个人博客玩耍~ https://xuchang-x.github.io/ 转载请注明出处:https://blog.youkuaiyun.com/weixin_37587973/article/details/110137123 环境 需要多步才能做到的环境 构建系统应该可以用单个命令运行,其本身应该是单步的小操作,但不应该依赖一系列指令或环境依赖脚本,

weixin_37587973的博客 606

再读Bob大叔三部曲之代码整洁之道

再读代码整洁之道

Micky613的博客 785

代码整洁之道——函数

规则短小,更短小。 要让每一个函数遵循单一职责原则 代码块和缩进 对于if,else,while等语句,如果其中的代码块逻辑复杂,应提取方法。 函数的缩进层级不该多余一层或两层,易于阅读和理解 只做一件事 函数应该做一件事,做好一件事,只做一件事。 判断函数是否只做了一件事,看能否再拆分出一个函数 每一个函数一个抽象层级 要确保函数只做一件事,函数中的语句都要在同一抽象层级上

qq_23555141的博客 462

编码之道——代码的整洁与逻辑

编码之道——代码的整洁与逻辑      大部分时候我们都提倡一句话——“代码越简洁越好”,很多时候大家误解了这句话的意思,代码的简洁不是简单。 个人觉得代码的简洁要注意的以下两点: 1、不能省略代码,简洁不是简单;2、代码简洁的层面是抽象和具体;3、代码的逻辑一定要严谨; 像之前我老是一样他将代码的优化过程看作一件看电影的不。这里我也将整个代码的

danhuang 2788

代码整洁之道————学习笔记(待更新)

一、命名规范 变量,方法,类的名称尽量见名知意。 避免误导性的命名。 如0与O,I与1… 区分变量名时避免做无用区分。 如:假如有一个Protect类,还有一个ProtectInfo类和一个ProtectData类,那么这就是无意义命名,Info与Data意义并无区别。 使用读的出来的名字。 使用在全文中容易搜索的名字, 不要使用编码。 类名和对象名应该是名词或者名词短语。 如用户类UserList, 方法名应该是动词或者动词短语。 如有一个查询全部用户的函数:queryAllUserName() 二、

m0_53253682的博客 464

《代码整洁之道》——(1)有意义的命名

代码整洁之道——(1) 什么是整洁代码 我喜欢优雅和高效的代码,代码逻辑应当直截了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护;依据某种分层战略完善错误处理代码;性能调至最优,省的引诱别人做没规矩的优化,搞出一堆混乱来。整洁的代码只做好一件事。 糟糕的代码引发混乱!别人修改糟糕的代码时,往往会越改越烂! 整洁的代码应可由作者之外的开发者阅读和增补。它应该有单元测试和验收测试。它使用有意义的命名。它只提供一种而非多种做一件事的途径。它只有尽量少的依赖关系,而且要明确的定义和提供清晰、尽量少的AP

SUN19980421的博客 182

TS代码整洁之道(下)

格式化是让代码整洁的一个简单却又重要手段(我在项目组见过,有多年工作经验的老司机也未对代码格式化),但是,格式定义却没有什么硬性规定。争论那种格式更好都是徒劳,浪费时间,在格式化上这点上,最重要的就是要统一,项目或公司级的统一格式规范。确实,很多国内外公司都有自己的代码格式规范。试想,如果一个接口是一个大而全的抽象,那么实现这个接口就会成为一种负担,因为需要实现一些不需要的方法。这个原则的定义是:“如果 S 是 T 的一个子类型,那么类型 T 的对象可以被替换为类型 S 的对象,而不会改变程序的正确性”。

weixin_44828588的博客 768
上一篇: 双色球复式投注奖等计算算法
下一篇: mybatis执行两次相同的查询问题
usercore
博客等级 码龄20年 9粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值