最近,在对已有项目进行扩展的时候,发现要改动的一个类它长900行,开放了近40个public接口,我流着泪把它给改完了。为了防止这样的惨剧再次发生在我的身上,我觉得有必要写一篇博客来让广大程序猿同胞知道代码重构的重要性。如果你身边有一个类写上千行的猿,一定要把此文转给ta为什么类不能过长?类过长:读不通,扩展不通读不通 - 直接用滚轮滚都得好几秒,就算是原作者,时间长了恐怕也难以理清整个类,更不用            
                
         
            
            
            
            1. Duplicate Code(重复代码)同一个类的两个函数含有相同的表达式-Extract Method两个互为兄弟的子类的含有相同的表达式-Extract Method,Pull Up Method,Template Pattern两个不相关的类出现Duplicate Code,对其中一个使用Extract Class2. Long Method(过长函数)把函数变小-Extract Me            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-11 08:59:44
                            
                                57阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            “常在河边走哪有不湿鞋”,重复代码多了总有一天会出错。 最近发现了自身的一个问题,业务开发总感觉没有技术含量,用不到设计模式、Java 高级特性、OOP,平时写代码都在堆 CRUD,个人成长无从谈起。每次面试官问到“请说说平时常用的设计模式,都只能答单例模式,因为其他设计模式的确是听过但没用过;对于反射、注解之类的高级特性,也只是知道它们在写框架的时候非常常用,但自己又不写框架代码,没有用武之地。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-16 21:34:49
                            
                                67阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            给定一个源区间[x,y](y>=x)和N个无序的目标区间[x1,y1] [x2,y2] [x3,y3]…[xn,yn],判断源区间[x,y]是不是在目标区间内? 例如,给定源区间[1,6]和一组无序的目标区间[2,3] [1,1] [3,9],即可认为区间[1,6]在区间[2,3] [1,1] [3,9]内,因为目标区间实际上是[1,9]。 分析与解法解法一
问题的本质在            
                
         
            
            
            
            # Java 中多个 Filter 重复执行的原理与实现
在 Java Web 开发中,Filter 是 Servlet 规范提供的一个重要功能。Filter 允许我们对请求和响应进行预处理和后处理,从而实现链式处理、日志记录、权限控制等功能。然而,当我们使用多个 Filter 时,有时会遇到重复执行的情况,本文将深入探讨这个问题,并提供相应的解决方案和代码示例。
## 1. Filter 的            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-10-21 06:26:26
                            
                                289阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 如何实现 Java 多个事务重复提交
## 1. 理解事务重复提交
在开发中,我们常常会遇到需要处理表单提交的场景。其中一个常见的问题是用户在网络不稳定的情况下,可能会多次点击提交按钮,导致数据重复提交的问题。为了解决这个问题,我们可以通过实现事务重复提交的功能来保证数据的正确性。
事务重复提交的处理流程如下:
```mermaid
journey
    title 事务重复提交处理            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-04 03:55:18
                            
                                123阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            上一篇文章中程序员的幸福生活——有你的日子,每天都是情人节,收到了大家的很多好评、鼓励和祝福,非常感动,真诚的谢谢大家。也希望每个朋友都能保持一个积极向上的心态,去迎接丰富多彩的人生。在开发过程中,我们经常会遇到大量重复或者类似的代码需要编写,当然我们可以通过各种模式来避免这种情况出现,但肯定有些时候我们是无法避免的,那么遇到这种情况,我们该如何快速完成这些重复或类似的代码的编写呢。下面来说一下我            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-08 19:15:04
                            
                                87阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Java 多个属性验证重复的实现
在开发 Java 应用程序时,常常需要对多个属性进行重复性验证。这种验证通常用于确保用户输入的信息的唯一性,例如在用户注册时,确保用户名和邮箱地址不重复。本文将通过代码示例向您展示如何在 Java 中实现多个属性的重复性验证。
## 需求分析
假设我们有一个用户注册的场景,用户需要输入以下信息:
- 用户名
- 邮箱
我们需要确保在用户注册时,用户名            
                
         
            
            
            
            都说Java语言是一门经久不衰的编程语言,基于C++演化而来,剔除了很多C++中的复杂特性,但这并不能确保Java程序员不会犯错。那么对于广大的Java程序员来说,他们常犯的错误是什么呢?下面和小编一起来看一下吧!1.Duplicated Code代码重复可谓是十分常见的问题了。他也是Refactoring的主要目标之一。代码重复往往来自于copy-and-paste的编程风格。与他相对应OAOO            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-26 12:32:03
                            
                                54阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            作者:Leilei Chen 1.1 案例场景假设银行提供了一些 API 接口,对参数的序列化有点特殊,不使用 JSON,而是需要我们把参数依次拼在一起构成一个大字符串:1)按照银行提供的API文档顺序,将所有的参数构成定长的数据,并且拼接在一起作为一整个字符串2)因为每一种参数都有固定长度,未达到长度需要进行填充处理字符串类型参数不满长度部分要以下划线右填充,即字符串内容靠左数字类型的参数不满长            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-20 15:26:34
                            
                                31阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            优化实践1.try{}catch(){}使用1)查询中不要使用try{}catch(){}语句2)循环中不要使用try{}catch(){}语句3)异常处理不要对于所有的异常捕获都使用Exception,最好是捕获对应的异常类型,处理日志方式:1、打印错误日志2、调用错误业务逻辑处理函数3、跳转错误提示页面4)finally中销毁对象或释放资源finally块代码无论try{}catch(){}是            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-11 13:41:54
                            
                                221阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、前言JAVA数组缺点:一旦定义了数组,数组的长度不可以更改。功能少,他没有提供多样的增删改查操作,例如在JavaScript上的push()、pop()、unshift()、shift()等这些接口,但是它能存放任何的数据类型。由于Java数组有点笨重,操作数组的时候有点不方便,我们不得不自己封装自己数组,当然现在有很多工具类例如ArrayList,它就可以完全代替数组。下面我们将演示如何对数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-14 19:34:21
                            
                                44阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Java学习笔记-Day12 Java封装、继承和方法重写一、封装1、 介绍2、 步骤二、继承1、 介绍2、构造方法3、方法调用三、方法重写1、介绍2、规则四、 this关键字和super关键字1、this关键字2、super关键字五、 匿名对象       一、封装 1、 介绍  类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的类或者对象进行信息隐藏。封装把过程和数据包围起来,对数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-26 20:16:57
                            
                                110阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Refactor:Duplicated code02重复代码什么是重复代码?案例1:同一个类的两个函数含有相同的表达式案例2:两个互为兄弟的子类含有相同的表达式案例3:代码片段中语句有可能增删改,功能不变 02重复代码什么是重复代码?定义:在一个以上的地点看到相同或相似的代码结构。影响:想要修改其中一段代码逻辑需要修改多次,易遗漏,难维护。改进目标:消除重复,提升可维护性的目标。方法:提炼函数,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-29 22:23:03
                            
                                69阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            业务同学抱怨业务开发没有技术含量,用不到设计模式 、Java 高级特性 、OOP ,平时写代码都在堆 CRUD ,个人成长无从谈起。其实,我认为不是这样的。设计模式、OOP 是前辈们在大型项目中积累下来的经验,通过这些方法论来改善大型项目的可维护性。反射、注解、泛型等高级特性在框架中大量使用的原因是,框架往往需要以同一套算法来应对不同的数据结构,而这些特性可以帮助减少重复代码,提升项目可维护性。在            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-26 23:47:09
                            
                                42阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1. 利用工厂模式 + 模板方法模式,消除 if…else 和重复代码2. 利用注解 + 反射消除重复代码3. 利用属性拷贝工具消除重复代码总结业务同学抱怨业务开发没有技术含量,用不到设计模式 、Java 高级特性 、OOP ,平时写代码都在堆 CRUD ,个人成长无从谈起。其实,我认为不是这样的。设计模式、OOP 是前辈们在大型项目中积累下来的经验,通过这些方法论来改善大型项目的可维护性。反射、            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 11:46:18
                            
                                15阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Lombok 介绍Lombok 旨在通过用一组简单的注释来替代它们来减少代码的重复。例如,简单地将@Data注释添加到数据类中,如下所示,将在IDE中产生许多新方法:IntelliJ IDEA安装Lombok Plugin定位到 File > Settings > Plugins点击 Browse repositories…搜索 Lombok Plugin点击 Install            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-11 17:43:17
                            
                                49阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # 如何实现Java重复代码合并
## 概述
在Java开发中,重复的代码会导致代码臃肿,不易维护。因此,我们通常会采用合并重复代码的方式,提高代码重用性和可维护性。以下是具体的步骤和示例代码,帮助你实现Java重复代码合并。
## 流程图
```mermaid
flowchart TD
    Start(开始) --> Input(输入重复代码)
    Input --> Analyze            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-19 07:06:26
                            
                                38阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## 如何查找重复代码 java
作为一名经验丰富的开发者,我们经常需要查找项目中的重复代码,以提高代码质量和可维护性。在这篇文章中,我将教你如何使用工具来查找重复代码,帮助你更快地定位和解决问题。
### 流程图
使用表格展示整个查找重复代码的流程:
| 步骤 | 操作 |
| ---- | ---- |
| 1. 下载并安装工具 | 下载并安装重复代码检测工具 |
| 2. 设置项目路            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-29 04:28:19
                            
                                84阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            封装在C语言中可以通过结构体封装多个变量,表示一个事物的多个属性。而Java是一种面向对象的编程语言,它更进一步,将变量和函数封装在一个类中,使用对象的形式模拟一个事物的多个方面,变量对应着对象中的域,表示对象的多个属性,而函数则对应着对象的方法,模拟对象的功能。因此我们可以通过对象域的值表示对象的状态,对象的方法表示对象所具备的功能,即通过方法向对象传递数据并改变它的状态或者让其执行某种行为。这            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-02 09:18:28
                            
                                21阅读