java重构的学习

Java代码重构学习笔记-重新组织数据 它的主要目的是通过使用 getter 和 setter 方法来访问类的私有属性,以提高代码的可维护性和灵活性。举个例子,假设有一个名为 Customer 的类,用于表示一个客户对象,该类包含了客户的姓名、地址等信息。现在需要在该类中添加一个新的属性,即客户的信用度 credit,但同时要限制信用度的范围在 0 到 100 之间,并且在修改信用度时要触发相应的事件通知。 阅读详情

From http://www.cnblogs.com/zuoxiaolong/p/pattern27.html
 
 以下总结本来是想在LZ博客的评论中回复的,结果发现自己没有博客园的账号,就懒得注册了。
 
 博客中列举重构小技巧,本人只用过:
 No.1:重复代码的提炼  No.2:冗长方法的分割
 No.3:嵌套条件分支的优化(1),No.4:嵌套条件分支的优化(2)
 No.5:去掉一次性的临时变量,No.7:提取类或继承体系中的常量,
 
 No.6:消除过长参数列表,No.8:让类提供应该提供的方法
 
 简单谈谈习惯的用法:
 No.1---这一点毋容置疑,只要是一名热爱爱编程的朋友,就一定会用到,平时coding中我也是极不喜欢看重复代码的,看到它就觉得像一根刺,想立即拔除。
 No.2,No.3,No.4,No.5,No.7 ---习惯性的会用,可能要归功于以前所做的华为项目的,现在想来,当时的军规化java规范受益良多。在这里要提到之前工作时遇到的一位同事,他告诉我们只用一次的临时变量,不需要声明,直接使用即可。
 No.6,No.8----这两点用的极少,有可能我平时coding的时候,方法参数都没超过5个,就认为没必要创建一个对象。后面会多多改善。
       我认为 No.8这点说的极好,我们创建对象的目的是啥,就是为了让这个类本身自己能完成的事自己独立完成,然后再给别人用。高内聚,低耦合也是对象编程的核心,易维护扩展。
 
PyTorch实战(20)——生成对抗网络(Generative Adversarial Network,GAN) 自生成对抗网络 (Generative Adversarial Network, GAN) 提出以来,一直是一个活跃的研究和开发领域。本节探索了 GAN 的基本概念,重点解析了其两大核心组件——生成器与判别器的架构设计,深入阐述了 GAN 模型的整体工作机制,并使用 PyTorch 从零开始实现了深度卷积生成对抗网络 (Deep Convolutional GAN, DCGAN)。 阅读详情

相关推荐

深入解析DMR协议中的4-CPFSK调制技术与实现

本文深入解析了DMR协议中采用的4-CPFSK调制技术。该技术凭借其连续相位、恒包络的特性,在有限的12.5kHz信道带宽内实现了稳健的通信,有效对抗干扰并提升功放效率,是DMR数字对讲机清晰、稳定通信的核心保障。文章详细阐述了其原理、实现细节及在协议栈中的协同作用。

weixin_29306875的博客 230

阿里面试官:你在工作中是如何做代码重构的?

我是猿人,一个热爱技术、热爱编程的IT猿。技术是开源的,知识是共享的!写作是对自己学习的总结和记录,如果您对 Java、分布式、微服务、中间件、Spring Boot、Spring Clo...

猿码天地 1559

ZYNQ新手必看:你的PS端DDR和QSPI配置真的对了吗?从原理到实操的避雷指南

本文深入解析ZYNQ PS端外设配置的关键要点,特别是DDR匹配和QSPI时钟优化的实战技巧。通过详细案例和配置清单,帮助开发者避免常见错误,确保系统稳定性和启动可靠性。适合ZYNQ新手和需要优化最小系统的开发者参考。

weixin_28675839的博客 445

常见 Java 代码重构技巧

Java 8 之前我们知道,一个接口的所有方法其子类必须实现(当然,这个子类不是一个抽象类),但是 java 8 之后接口的默认方法可以选择不实现,如上的操作是可以通过编译期编译的。另外,if else(或switch)本身就是一个“变化点”,当需要扩展新的类型时,我们不得不追加if else(或switch)语句块,以及相应的逻辑,这无疑降低了程序的可扩展性,也违反了面向对象的开闭原则。同时,类职责单一,类依赖的和被依赖的其他类也会变少,减少了代码的耦合性,以此来实现代码的高内聚、松耦合。

rainbow的博客 606

SBP依赖计算中的蝴蝶效应:一个Prefab修改如何触发全量重建?

本文深入探讨了Unity中SBP(Scriptable Build Pipeline)依赖计算的蝴蝶效应,解析了Prefab修改如何触发全量重建的机制。通过分析Asset与Object的层级关系、依赖计算的三种维度及CacheEntry系统,揭示了全量重建的根本原因,并提供了依赖可视化工具开发、优化策略与最佳实践,帮助开发者提升构建效率。

weixin_29015051的博客 444

360可视门铃双摄版数据恢复实战:BIN文件解析与视频重组

本文详细解析了360可视门铃双摄版BIN文件的数据恢复过程,包括文件结构分析、双摄像头数据存储机制及视频重组技术。通过Python开发环境和FFmpeg工具链,成功实现了H.265视频流的解析与重组,为智能家居设备数据恢复提供了实用解决方案。

weixin_29196891的博客 910

java 方法重载、重写和重构

小跑过来记录一下,免得下次难找。也不知道有没有错误。 名称 定义 所用场景 重载 在同一个类中允许同时存在多个同名方法,这些方法的参数个数或者类型不同。 同一个类类中的方法之间 重写 在子类中将父类的成员方法名保留(与父类同方法名,參数,返回值的成员方法),重新编写父类成员方法的实现内容。 父类与子类之间 重构 可以通过重写或者重载等完成,但不限于此,更改注释、更改函数名类名等,都可以称之为重构。 – 它们的相同点在于方法名称都是一样的。 重写与重载的区别: 1.

qq_45742039的博客 1648

用PyTorch实战清华SSVEP数据集:手把手教你搭建第一个脑机接口分类模型(附完整代码)

本文详细介绍了如何使用PyTorch实战清华大学SSVEP数据集,从数据预处理到CNN模型构建的全流程。通过手把手教学,帮助读者搭建第一个脑机接口分类模型,特别针对数据维度转换等关键难点提供可视化解析,并附完整代码实现。

weixin_42566121的博客 352

java代码重构经验总结

如果你看到了这种丢弃(而不是抛出)异常的情况,可以百分之九十九地肯定代码存在问题(在极少数情况下,这段代码有存在的理由,但最好加上完整的注释,以免引起别人误解)。5)这次总结的方式方法,经验形成文档,要求以后在工作中是随时做的,当增加功能时,修改bug时或复审代码时都应该想到是否将原有的代码重构,以提高系统的可复用性和可扩展性。3)重构完成后,向服务器提交代码时,需采用更保险的方法,将原文件备份为以***.class.20060809.jeff的文件,不能简单的覆盖,否则那是很危险的。

rdhj5566的专栏 1493

告别 DIFY 构建卡顿 / 失败!巧用 Makefile 一键构建本地 WEB 镜像,附核心避坑指南

本文详细介绍了DIFY本地源码构建WEB镜像的完整流程,重点解决因官方npm源不稳定导致的构建失败问题。通过修改web/Dockerfile文件启用国内npmmirror镜像源,可大幅提升依赖下载速度和稳定性。在DIFY根目录执行封装好的make build-web命令即可一键完成构建,无需手动编写复杂docker命令。文章还提供了前置环境准备、构建结果验证等实用指导,帮助开发者高效完成DIFY前端二次开发后的镜像构建验证。

2501_93651177的博客 182

全志F1C200S嵌入式驱动开发(lcd屏幕驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 lcd RGB屏幕作为比较经济、实用的显示工具,在实际场景中使用较多。它的信号来说,一般也比较简单,除了常规的数据信号,剩下来就是行同步、场同步、数据使能和时钟信号了。数据信号方面,常见的格式有RGB888、RGB666、RGB565。为什么有什么多选择,主要还是取决于soc pin脚的多少来定。当然,pin脚越多,显示的颜色就越精准,还原度就越高。 举例来说,假设

嵌入式-老费,一个分享专业嵌入式知识的blog 2794

java什么是重构 何时使用重构_java代码重构的方法学习

2,8阅读第一章 第一个案例在此案例中使用了,方法的提取(extract method),方法的移动(move method),临时变量的清除,变量及函数名重构,switch类型重构(replace type code with state/strategy)等。重构使得代码功能更加好的被复用,偏于维护和修改。注意:switch语句的属性尽量不要是另一个对象的数据,最好在自己的数据基础上进行第二...

weixin_42169971的博客 856

5、数据计算与处理技巧全解析

本文深入解析了Tableau中的多种数据计算与处理技巧,涵盖LOD计算、日期与字符串处理、计数优化、数据混合限制及自定义总计等核心内容。通过实际案例和流程图,系统讲解了各技巧的应用场景、实现步骤与注意事项,并提供性能优化建议和常见问题解答,帮助用户提升数据分析效率与可视化精度。同时展望了未来数据计算技术的发展趋势,是Tableau用户进阶必备的全面指南。

peach的博客 82

重构 java代码_java代码重构的方法学习

2,8阅读第一章 第一个案例在此案例中使用了,方法的提取(extract method),方法的移动(move method),临时变量的清除,变量及函数名重构,switch类型重构(replace type code with state/strategy)等。重构使得代码功能更加好的被复用,偏于维护和修改。注意:switch语句的属性尽量不要是另一个对象的数据,最好在自己的数据基础上进行第二...

weixin_33324399的博客 774

蓝牙模块HM-10手册

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

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

31天学习重构(java)

31天重构学习笔记1. 封装集合 31天重构学习笔记2. 移动方法 31天重构学习笔记3. 提升方法 31天重构学习笔记4. 降低方法 31天重构学习笔记5. 提升字段 31天重构学习笔记6. 降低字段 31天重构学习笔记7. 重命名(方法,类,参数) 31天重构学习笔记8. 使用委派代替继承 31天重构学习笔记9. 提取接口 31天重构学习笔记10. 提取方法 31天重构学习

a138520844a的专栏 1211

efm32 入门.pdf

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

JAVA学习——重写、重载、重构

今晚看final方法,结果差点被JAVA继承部分的重写、重构、重载搞疯了,记录一下可别再忘记了。。。 一、重写(覆盖) 就是子类继承父类后,可以重写父类的方法,要求是 (1)方法名、参数列表相同 (2)权限修饰符只能从private—>protected—>public变大,很明显嘛你父类都是public公开了,你子类不可能自私地private起来不让后面继承的子类用吧? (3)返回...

weixin_44030848的博客 295

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...

深度解析《AI+Java编程入门》:一本为零基础重构的Java学习路径

入门,不是背完所有关键字;入门,是能独立搭建环境、写出可运行的程序;入门,是学会借助AI工具,解决真实问题。对于零基础学习者而言,这本书提供了一条低门槛、高效率、有反馈的学习路径。它不追求速成,而是通过扎实的内容设计,帮助你在AI时代,稳健地迈出编程的第一步。📘 书籍信息书名:《AI+Java编程入门:让代码跑起来》作者:王辰飞出版社:清华大学出版社新书双11特惠5折,叠加政府补贴。点击下方链接即可抢购。

kevin_blog 1155

java重构学习1:引例

本系列来自《java 重构改善既有代码的设计》一书 实例一:影片租赁出租店的程序设计。 计算每一位顾客的消费金额并打印报表(statement),操作者告诉程序:租客租了哪些影片、租期多长、程序便根据租赁时间和影片类型算出费用。 影片分三类:普通片、儿童片和新片。除了计算费用,我们还需要为常客计算点数:点数会随着(租片种类是否为新片)有所不同。

风的专栏 737

代码的重构实例(Java JDBC)学习

代码的重构 在我平时的代码开发中,各个部分的功能确实能够实现,但是缺少重构,代码显得十分的臃肿,扩展性差、不易于后续的维护。 下面就简单的Java JDBC的数据访问操作,进行重构的尝试。 详细代码已经托管在github平台:github代码托管链接 如果能给个小星星,将是对我莫大的鼓励。。。。 原始代码 本人用MySQL作为数据,并在springmodel数据库中创建一张名为t_student的...

LengDanRan 700

31天重构 java_31天重构学习笔记12. 分解依赖

导读热词订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的。记得当时一口气看完了整个系列并没有多少感觉,因为这些基本上项目都在使用,只是我们没有专门把它标示和整理出来,所以也没有引起多大的重视。现在突然接手这个重构项目,由于团队成员技术和经验参差不齐,所以有必要专门整理一个重构的纲要,当然这个系列也非常适合做新系统的代码规范参考,只要有代码的地方,这个重构规范就很有...

weixin_39876282的博客 197

Java基础学习-面向对象之方法的重构

方法的重构 在面向对象的方法中我们对于一些方法利用参数的不同实现对这些方法的重新构造。 Reconstruction.java文件 package Object; public class Reconstruction { public String name; public int age; public String work; //方法的重载---------->参数不同 public void show(){ System.out.println("null"); }

二丫的博客 726

Java代码重构学习笔记-开篇

同时,在代码重构过程中,需要保持代码的良好风格和结构,并遵循团队内部的代码规范。

Logan_addoil的博客 463

JAVA学习 三(重构程序)

<br />重构程序<br /> 伟大的创意少之又少,多数时候只是一些小改进。小的改进也是好的。<br /> 什么是重构<br /> 可以运作的程序跟可以维护的程序之间,还有一道难以言说的鸿沟。<br /> 一个程序设计之初,是用来解决特定问题。就像在前面章节的学习中,我们也已经写好<br /> 了一个可以运作的 BMI 程序。但是对程序设计来说,当我们写越多程序,我们会希望可以<br /> 从这些程序之中,找到一个更广泛适用的法则,让每个程序都清晰易读,从而变得更好修改<br /> 与维护。

魔戒 652

31天学习重构(java)---1.封装集合

31天学习重构(java)---1.封装集合

a138520844a的专栏 970
上一篇: junit案例获取不到bean,报空指针
下一篇: 深入理解JVM1 ---JVM的基本体系结构
HENGPERSYSENT
博客等级 码龄15年 2粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值