码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 22个代码的坏味道


    22个代码的坏味道

    在这里插入图片描述

    何时应该重构呢

    重复代码

    重复代码的恶心之处就在于你每次修改都可能需要修改多处

    过长函数

    程序愈长愈难理解。每当感觉需要以注释来说明点什么的时候,我们就把需要说明的东西写进一个独立函数中,并以其用途命名

    过大的类

    这个类做了太多的事情了,它太累了

    过长参数列表

    一般是不建议超过五个。太长难以理解而且不美观

    发散式变化

    如果一个类经常因为不同的原因在不同的方向上发生改动,那就是发散式变化。也就是说这个类内聚性不好,职责太多

    霰弹式修改

    如果每次遇到某种变化,都需要在许多类内作出小改变,那就是霰弹式修改。需要合并成一个类。

    依恋情节

    类的函数对某个类的兴趣高过对自己所处类的兴趣

    数据泥团

    不同类中含有相同的字段

    基本类型偏执

    死活就是要用基本类型,不肯封装成可读性比较高的类

    switch语句

    swich语句的问题在于重复,如果对一个字段在多处使用了多个switch,那后面修改时就要修改多处。只使用一次switch是可以的

    平行继承体系

    当你为某个类增加一个子类,必须也为另一个类增加一个子类,导致不必要的修改。

    冗赘类

    没啥卵用或者用处很小的类

    夸夸其谈未来性

    属于过度优化。把未来可能改动提前编码了

    令人迷惑的暂时字段

    类中某个实例变量仅为某种特定情况而设,大多数情况用不上

    过度耦合的消息链

    消息链太长,牵一发而动全身。

    中间人

    中间人拿钱不干事,只管传递消息,应该绕过它

    狎昵关系

    两个类交互过于亲密,花费太多时间去使用互相的数据

    异曲同工的类

    不同的类干着相似的活

    不完美的第三方库

    你的功能需求超出这个库的能力了

    纯数据类

    类没有相关的操作,只有读写数据的函数

    被拒绝的遗赠

    子类继承了超类的行为,但是不愿意支持超类的接口,说明这个子类不孝顺,应该另立门户。

    过多的注释

    指一个函数写太多注释。应该根据注释分割成不同的函数

    本回完
  • 相关阅读:
    Kong实现禁止国外IP访问
    el-upload实现复制粘贴图片
    ICML 2020 | GCNII:简单和深度图卷积网络
    Python3《机器学习实战》学习笔记(五):Logistic回归基础篇之梯度上升算法
    阿里云Elasticsearch搜索
    143、锐捷交换机恢复出厂和各种基本配置
    c++ 模版元编程-SFINAE(Substitution Failure Is Not An Error)技术
    built with gcc 12.1.0 (Rev2, Built by MSYS2 project)
    虹科工业树莓派应用案例之在石油开采中的应用
    Python的灵活-允许嵌套定义函数并在内层函数的层级上直接调用内层函数
  • 原文地址:https://blog.csdn.net/mythest/article/details/126486679
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号