精华内容
下载资源
问答
  • 代码冗余
    千次阅读
    2017-01-09 20:15:39

    1:总的来说没有好处,但是不可避免。


    2:其实就我开发java程序来看,如果一开始需求比较完整,不容易写出很多冗余的代码,往往冗余的代码就是一开始设计不够好,或者需求不够完整造成的。


    3:比如说我曾经做个一个系统,一开始是人工创建订单,调用订单接口,同时记录相关操作日志。


    4:接着加了一个系统自动创建订单的功能,要求记录的操作日志和人工创建的有差异,


    5:我直接将人工创建订单的那个方法copy了一份,很显然冗余了,但是不容易出错,我修改了一下日志记录的内容,代码就这样写完了。


    6:所以冗余真的有时候更加方便,特别是在系统已经非常稳定的时候,我觉得重构代码不见得比复制代码好。

    更多相关内容
  • java代码冗余

    2021-04-22 12:45:37
    java 高并发的解决方案对于我们开发的网站,如果网站的访问量非常大的话, 那么...java 高并发的解决方案 对于我们开发的网站,如果网站的访问量非常大的话, 那...(错误纠正代码) 59.EIS:Enterprise Information System...

    java 高并发的解决方案对于我们开发的网站,如果网站的访问量非常大的话, 那么...

    java 高并发的解决方案 对于我们开发的网站,如果网站的访问量非常大的话, 那...

    (错误纠正代码) 59.EIS:Enterprise Information System(企业信息系统) 60.EJB:Enterprise JavaBean(企业 JavaBean) 61.encapsulate:封装 62.ESB:Enterprise Service ......

    使用网络拓扑消除冗余告警方法的研究及实现 周飞;金可音;杨武;杨亮 【期刊名称】...

    (错误纠正代码) 59.EIS:Enterprise Information System(企业信息系统) 60.EJB:Enterprise JavaBean(企业 JavaBean) 61.encapsulate:封装 62.ESB:Enterprise Service ......

    另外,把处理异常方法和捕获异常分离可以减少很 多冗余代码,提高代码的可读性。在以...

    结果就遗漏了合 法性检查这一必要的处理过程,造成问题隐患,要么就是调用者和被调用者均对 参数进行合法性检查,这种情况虽不会造成问题,但产生了冗余代码,降低了......

    结果就遗漏了合 法性检查这一必要的处理过程,造成问题隐患,要么就是调用者和被调用者均对 参数进行合法性检查,这种情况虽不会造成问题,但产生了冗余代码,降低了......

    在 java 代码中输入字符时,向操作系统传递的数据经过了中间的编码环节 必答题...

    Java 语音编码规范(华为) 【最新资料,WORD 文档,可编辑修改】 Doc...

    WorldWind 源代码研究经历---峰之巅 解读版 QQ:314677005 Java 版 WorldWind 源代码学习笔记该文档编写者系数学系毕业且未满一年工作经验的职场新人, java 知识......

    会有新的问题: 执行 interrupt 方法后你的线程类会抛 InterruptedException,上有政策下有对策,加一 个开关变量做判断就能完美解决,可参考下面的代码: Java 代码: ......

    Java 知识点整理第二章 Java 基木语法类名、方法名、变量: 1、 必须以...

    (2)注意到所有要进行字符串拼接的地方都使用 JAVA 中的 StringBuilder 类, 这是为了高效处理字符串拼接, 防止 String 类带来 的拼接数据冗余。 (3)这些设计中......

    没有实现线程安全,因此性能比 StringBuffer 好 第五章 类和类之间的关系 1、继承的主要作用是什么(ABC) A.解决代码重用 B.减少代码冗余 C.便于扩展 2、类和......

    代码实现(部分) package src; import java.awt.AlphaComposite; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import ......

    能根据要求,设计出简洁、冗余代码少,可 重用性高的程序为满分。没有达到设计要求的按比例扣分。 代码可读性好,格式规范,为满分。代码缩进不规范扣 1 分;方法......

    代码填空显示“DaSai”目录下以”Ex”开头的文件和目录,写了如下代码,请完善之: import java.io.*; class JavaFilter implements FilenameFilter{ String jf; ......

    版本 1.0 课程 4 幻灯片 12,共 26 张, Java 编程语言继承 继承指从父类获取一组属性和相关的行为。 继承的好处:减少代码中的冗余 代码容易维护 扩展现有类......

    (2)注意到所有要进行字符串拼接的地方都使用 JAVA 中的 StringBuilder 类,这是为了高效处理字符串拼接,防止 String 类带来 的拼接数据冗余。(3)这些设计中的流程......

    展开全文
  • 继承,减少代码冗余

    2022-02-22 17:16:35
    类解决了对象与对象之间的代码冗余问题 继承解决了类与类之间的代码冗余问题 3.怎么用继承? 经典类:没有继承object类的子子孙孙都是经典类 新式类:继承了object类的都是新式类 补充:只有在python2中才...

    1. 什么是继承?

            继承就是新建类的一种方式,新建出来的类称为子类或者叫派生类,被继承的类称为父类或者是基类  子类可以遗传父类的属性
     

    2. 为什么要用继承?

            类解决了对象与对象之间的代码冗余问题 
            继承解决了类与类之间的代码冗余问题
     

    3.怎么用继承?

            经典类:没有继承object类的子子孙孙都是经典类
            新式类:继承了object类的都是新式类
            补充:只有在python2中才区分经典类与新式类,在python3中都是新式类

     2. 单继承下的查找顺序

            

     2.1 多继承下的查找顺序

                    经典类:深度优先查询
                    新式类:广度优先查询

     3. super和mro列表

     4. 多态与多态性

            多态:同一种事物的多种形态

            

    5. 组合

            组合:一个对象拥有一个属性,该属性的值是另一个对象
            继承:满足什么是什么的关系
            组合:满足什么有什么的关系

    6. 内置方法

            

     

    展开全文
  • 代码冗余的缺点: 后期维护痛苦:假设一段功能代码直接复制粘贴到50处,后期需要维护添加功能,还要手动复制粘贴50次。 编码效率低:代码复用程度低,编码缺乏规范化,缺乏工具化组件化的函数代码。 代码不简洁:一...

    代码冗余的缺点:

    后期维护痛苦:假设一段功能代码直接复制粘贴到50处,后期需要维护添加功能,还要手动复制粘贴50次。
    编码效率低:代码复用程度低,编码缺乏规范化,缺乏工具化组件化的函数代码。
    代码不简洁:一个类的代码过多,对于类的整体把握较差;阅读源码体验差,可读性弱。

    代码冗余的原因:

    1.直接复制粘贴
    2.不知道框架/PHP自带的标准方法
    3.完成功能调试后,没有考虑代码合并简化

    为什么要复用代码?

    尽最大可能自己偷懒,帮别人偷懒

    复用代码的可能方法:

    1.消消乐:变量
    冗余:

    $couont1 = ModelName::model()->Count('state=1 and is_pass=1');
    $couont2 = ModelName::model()->Count('state=2 and is_pass=1');
    $couont3 = ModelName::model()->Count('state=3 and is_pass=1');
    

    合并

    $w='is_pass=1 and state=';
    $couont1 = ModelName::model()->Count($w.'1');
    $couont2 = ModelName::model()->Count($w.'2');
    $couont3 = ModelName::model()->Count($w.'3');
    

    2.消消乐:函数
    冗余:

    function getInfo1(){
    	
    	$a=1;
    	...省略999行
    	一大段相同的逻辑代码
    	
    	
    	其他处理
    }
    function getInfo2(){
    	$a=1;
    	...省略999行
    	一大段相同的逻辑代码
    	
    	
    	其他处理
    }
    function getInfo3(){
    	$a=1;
    	...省略999行
    	一大段相同的逻辑代码
    	
    	
    	其他处理
    }
    
    

    合并:

    function 	UniteDeal(){
    	a=1;
    	...省略999行
    	一大段相同的逻辑代码
    }
    
    function getInfo1(){
    	UniteDeal();//统一函数处理
    	//其他处理
    }
    function getInfo2(){
    	UniteDeal();//统一函数处理
    	//其他处理
    }
    function getInfo3(){
    	UniteDeal();//统一函数处理
    	//其他处理
    }
    
    

    3.找不同+消消乐:函数参数
    冗余代码:

    function actionIndex($keywords){//默认首页
    		set_cookie('_currentUrl_', Yii::app()->request->url);
            $modelName = $this->model;
            $model = $modelName::model();
            $criteria = new CDbCriteria;
            $criteria -> condition = get_like('1','d_name',$keywords);
            $data = array();
            parent::_list($model, $criteria, 'index', $data);
    }
    
    function actionIndexVerify($keywords){//审核首页
    		set_cookie('_currentUrl_', Yii::app()->request->url);
            $modelName = $this->model;
            $model = $modelName::model();
            $criteria = new CDbCriteria;
            $criteria -> condition = get_like('1','d_name',$keywords);
            $data = array();
            parent::_list($model, $criteria, 'index_verify', $data);
    }
    
    
    function actionIndexAdmin($keywords){//管理员首页
    		set_cookie('_currentUrl_', Yii::app()->request->url);
            $modelName = $this->model;
            $model = $modelName::model();
            $criteria = new CDbCriteria;
            $criteria -> condition = get_like('1','d_name',$keywords);
            $data = array();
            parent::_list($model, $criteria, 'index_admin', $data);
    }
    
    

    找不同:
    除了函数名和 parent::_list传入的参数不同,其他相同。

    合并:

    function actionIndexTlp($keywords, $template){ //列表模板
    		set_cookie('_currentUrl_', Yii::app()->request->url);
            $modelName = $this->model;
            $model = $modelName::model();
            $criteria = new CDbCriteria;
            $criteria -> condition = get_like('1','d_name',$keywords);
            $data = array();
            parent::_list($model, $criteria, $template, $data);
    }
    
    function actionIndex($keywords){
    	$this->actionIndexTlp($keywords,'index');
    }
    
    function actionIndexVerify($keywords){
    	$this->actionIndexTlp($keywords,'index_verify');
    }
    
    function actionIndexAdmin($keywords){
    	$this->actionIndexTlp($keywords,'index_admin');
    }
    

    4.轮子:常用代码工具化(写进模型方法或者全局函数functions):
    冗余:

    function getUserSex(){
    $userId = Yii::app()->session['userId'];
    if(!$userId){
    	$userId = 0;//不存在session赋默认值
    }
    $user = User::model()->find('userId = '.$userId);
    if ($user){
    	return $user->sex;
    }
    }
    
    function getUserName(){
    $userId = Yii::app()->session['userId'];
    if(!$userId){
    	$userId = 0;
    }
    $user = User::model()->find('userId = '.$userId);
    if ($user){
    	return $user->name;
    }
    }
    
    function getUserPhone(){
    $userId = Yii::app()->session['userId'];
    if(!$userId){
    	$userId = 0;
    }
    $user = User::model()->find('userId = '.$userId);
    if ($user){
    	return $user->phone;
    }
    }
    

    工具化:

    //该函数在functions定义
    function get_session($name) {
        $rs=0;
        if(!isset($_SESSION)){ session_start();}
        if (isset($_SESSION[$name])){ $rs=$_SESSION[$name];}
        if (isset(Yii::app()->session[$name])){
            $rs=Yii::app()->session[$name] ;}
        return $rs;
    }
    
    //以下方法为类方法
    function getUserSex(){
    $userId = get_session('userId',0);//不存在session赋默认值
    $user = User::model()->find('userId = '.$userId);
    if ($user){
    	return $user->sex;
    }
    }
    
    function getUserName(){
    $userId = get_session('userId',0);
    $user = User::model()->find('userId = '.$userId);
    if ($user){
    	return $user->name;
    }
    }
    
    function getUserPhone(){
    $userId = get_session('userId',0);
    $user = User::model()->find('userId = '.$userId);
    if ($user){
    	return $user->phone;
    }
    }
    

    5.神奇解析:类的成员变量
    对4的工具化后的代码进一步压缩。
    成员变量解析:

    function getValue($value){
    $userId = get_session('userId',0);//不存在session赋默认值
    $user = User::model()->find('userId = '.$userId);
    if ($user){
    	return $user->{$value};//对象->{字符串},可以动态通过字符串变量获取响应的对象值
    }
    }
    
    function getUserSex(){
    	return $this->getValue('sex');
    }
    
    function getUserName(){
    	return $this->getValue('name');
    }
    
    function getUserPhone(){
    	return $this->getValue('phone');
    }
    

    6.映射:对应关系
    if方法:

    if(a){
    操作a
    }
    elif(b){
    操作b
    }
    elif(c){
    操作c
    };
    ...
    

    switch同理,不过省去了条件判断的时间。

    数组方法:
    $f=array(‘a’=>‘funcA’,‘b’=>‘funcB’,‘c’=>‘funcC’);

    数据库方法:

    原像映射值
    afuncA
    bfuncB
    cfuncC

    代码中通过查询获取数据。

    6.颗粒度:一个函数只做一件事
    随着业务复杂度提升,函数相互调用关系不断提升,复用多。

    7.继承:BaseModel
    子类调用父类BaseModel的方法,该方法使用子类的成员变量(模型名/表名),区别模型,对不同的表进行统一操作。
    在这里插入图片描述

    8.脚本语言:PHP生成HTML代码
    使用字符串拼接构造输出。
    前端页面组件化必备方法。
    在这里插入图片描述

    9.PHP脚本:代码生成器——模拟手工复制文件过程
    在这里插入图片描述

    10.模板化:打标签
    通过标签占位。
    如T_姓名1,处理时进行字符串替换,把T_姓名1替换成具体的数据。
    尤其适用于根据模板文件,使用动态数据生成报表。

    11.拿来主义:UI组件库/插件
    LayUi,开箱即用的组件库。如五星评分。直接调用即可。
    Wow.js拥有基于css的动态效果。
    地图API。
    编辑器插件。

    展开全文
  • 主要介绍了合并ThinkPHP配置文件以消除代码冗余的实现方法,非常实用的技巧,需要的朋友可以参考下
  • 冗余代码检测与分析

    2021-01-27 16:23:42
    代码冗余的原因多种多样,从未使用的变量到未完成的变更,再到废弃的代码; 冗余代码会产生一系列的影响,包括源代码臃肿、可靠性及可维护性降低。在某些情况下,死代码也会影响性能; 为了检测冗余代码,作者开发了...
  • 最近在学习开发服务器控件,...其中就遇到如下问题 1、 注册的资源文件或纯脚本样式在生成的页面中都不在head标签中(当然这个不影响页面功能) 2、 一个页面使用多个一样的控件时,会出现重复输入(出现多余代码
  • 如何减少项目中的冗余代码
  • 那么在做这样的项目时,首先要做的除了对单个网页的框架进行设计以外,我们还应该注意代码冗余问题,就是要使你设计的那个框架能够很好的兼容这几个网页的内容,达到写最少的代码实现同样的功能的效果。...
  • 过多的代码冗余过多的if判断。下面Insus.NET按照自己的相法与习惯,重构这个方法,希望代码冗余的地方,能够简化,需要封装的地方,把它们封装。第一步,大家可以看到每个if判断块内,都有一句: fileUpload....
  • (不用你提醒,改多了他自己就知道优化代码,减少代码冗余) 2:业务要清晰,业务不清晰不可避免的写冗余代码,(所以需要一个好的产品) 3:封装方法的时候,最小模块化,就是一个方法的封装,要保证这个方法...
  • 如何解决重复冗余代码

    千次阅读 2020-05-18 00:12:41
    如何解决重复冗余代码1.利用工厂模式+模板方法模式消除if...else和重复代码2.利用注解+反射消除重复代码3.利用属性拷贝工具消除重复代码 1.利用工厂模式+模板方法模式消除if…else和重复代码 我们可以把重复的逻辑...
  • *********************************
  • 冗余(代码冗余

    2014-02-25 18:49:00
    冗余(代码冗余代码冗余,即是编程时不必要的代码段。 目录 1多余执行的冗余: 2代码数量的冗余: 一般来说,一段程序能够执行既定的任务,但是经过优化,能够同样达到目的...
  • java开发之消除冗余代码的3种方法

    千次阅读 2020-05-13 21:00:24
    同,如果用代码来实现蛋糕制作流程,要写大量重复代码,容易产生BUG,我们可以使用工厂模式和模板方法模式来避免重复。 首先定义一个蛋糕类Cake: @Data public class Cake { // 蛋糕名称 String cakeName; ...
  • 代码优化就一个原则-消除冗余

    千次阅读 2019-03-22 20:37:56
    架构,设计,优化,重构,编码。 就一个原则:把重复的东西交给while...消除冗余,无疑,代码的数量少了。 代码的数量少了,一般是容易理解的。 代码的数量少了,一般执行的效率是高的。 代码的数量少了,一般是重复...
  • 代码过程中的冗余处理

    千次阅读 2017-10-09 15:47:29
    代码时往往会遇到冗余,那么,我们什么时候应该保留冗余,什么时候应该去除冗余呢? 1、 冗余有好处吗?大部分情况下是没有的。 2、 冗余的好处主要体现在恢复数据和并发读取数据提高效率方面。 3、 冗
  • word来制作网页会出现很多冗余代码。我们都知道程序员应当尽量用简洁的代码实现复杂的功能,接下来我们看看dw怎样帮助我们减少冗余代码
  • wordpress头部的代码非常多,包括WordPress版本,前后文、第一篇文章、主页meta信息等各种冗余代码,这些对博主来说是没有意义的,也对网站的安全有一定的影响,也一度不知道这些代码是有什么作用、怎么来的和怎么...
  • 编程基本原则 —— 避免冗余代码

    千次阅读 2018-08-31 09:29:15
    最近组内做代码评审,看到了如下一段代码,这段代码从功能上、甚至效率上来讲都没有问题,但从可读性和可维护性来讲,可优化的地方显而易见:函数‘foobar’接收‘op_type’为输入参数,该函数的调用完全可以放在...
  • 循环冗余校验码(CRC)计算源代码合集,里面包含了各种编程语言(包括C,C++,单片机等)CRC代码的实现
  • 针对于软件的容错问题,提出了利用冗余技术解决容错问题的思想和方案,对于软件开发具有实际意义。
  • Java Lombok 减少代码冗余 利刃

    万次阅读 2015-07-22 21:06:18
    无论使用的是哪种流行的框架,在其中都少不了Model类的编写,还有其中错综负责的getter/setter方法,这些getter/setter方法的存在,使得代码变得非常的臃肿。那么需要怎 么解决这个问题呢,便引入了这篇文章的主角L
  • 计算机网络中CRC循环冗余校验方法的代码。其中有很多注释,读起来不麻烦,能够很好的阅读理解,对大家对于CRC的实现有更好的帮助.
  • 五、合理使用模板,避免代码冗余 六、C++也能反射 七、单例模式解决静态成员对象和全局对象的构造顺序难题 八、更为高级的预处理器PHP 九、Gtkmm的最佳实践 本系列文章属 西风逍遥游 原创,转载请...
  • 基于Matlab的并行循环冗余校验Verilog代码自动生成方法.pdf
  • asp.net生成的viewstate垃圾信息超过了20K,如果页面前二K不是内容会被引擎处罚,所以我们需要清理下asp.net生成静态后冗余代码
  • iOS冗余扫描脚本

    2016-06-02 21:44:11
    随着iOS项目的版本演化,app中冗余文件会越来越多,app size也持续增加,是时候需要对app冗余资源进行检测,对app进行瘦身。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 278,819
精华内容 111,527
关键字:

代码冗余