Java程序最容易犯的错误有哪些呢

技术Java程序最容易犯的错误有哪些呢今天就跟大家聊聊有关Java程序最容易犯的错误有哪些呢,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  1.Duplicat

今天,我将和大家谈谈Java程序最容易犯的错误。很多人可能不太了解。为了让大家更加了解,边肖为大家总结了以下内容。希望你能从这篇文章中有所收获。

1.Duplicated Code

代码重复几乎是最常见的气味。他也是《重构》的主要目标之一。代码重复往往来自于复制粘贴的编程风格相应的OAOO是一个好系统的重要标志。

  2.Long method

它是传统结构的遗产。一个方法应该有自我独立的意图。不要把几个意图放在一起。

3.Large Class

一个大班意味着你给了一个班太多的责任。这里的规则是一级一责。

4.Divergent Change

一个班级内容的变化率是不一样的。有的状态每小时换一次,有的状态几个月一年才换一次;有些州因为这个原因而改变,有些州因为其他原因而改变一次。面向对象的抽象是把相对不变性和相对变化分开。将问题的一个方面与另一个方面分开。这使得这些相对不变的可以重复使用。变更的每个方面都可以单独重用。这些不同变化的共存使得重用变得非常困难。

5.Shotgun Surgery

这和上面的正好相反。系统某一部分的变化涉及许多其他地方的相关变化。这些变化率和变化内容相似的状态和行为通常应该放在同一个类中。

6.Feature Envy

对象的目的是封装与这些状态密切相关的状态和行为。如果一个类的方法经常使用get方法来访问其他类的状态进行计算,那么您应该考虑将行为移动到涉及状态数量最多的类。

  7.Data Clumps

有些数据通常像孩子一样分组使用:它们一起出现在许多类的成员变量和许多方法的参数中。也许这些数据应该独立地形成对象。

 8.Primitive Obsession

面向对象的新手通常习惯于使用几种原始类型的数据来表示一个概念。例如,对于范围,它们将使用两个数字。对于货币,他们会用一个浮点数来表示。因为不使用对象来表达问题中的概念,使得代码难以理解,解决问题的难度大大增加。一个好习惯是扩展语言可以提供的原语类型,用小对象来表示范围、金额、转化率、邮政编码等等。

 9.Switch Statement

基于常量的switch语句是OO的敌人,应该改成子类、状态或者策略。

  10. Parallel Inheritance Hierarchies

平行的继承层次是霰弹枪手术的特例。因为当您在一个级别中更改一个类时,您必须同时更改另一个级别的并行子类。

看完以上内容,你对Java程序最常见的错误有什么进一步的了解吗?如果您想了解更多知识或相关内容,请关注行业资讯频道,感谢您的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/94840.html

(0)

相关推荐

  • 上课用英语怎么说,上课和下课分别用英语怎么说

    技术上课用英语怎么说,上课和下课分别用英语怎么说一、“上课”的英语两种形式:go to class 上课用英语怎么说,give a lesson1、go to class
    英 [ɡəu tu: klɑ:s] 美 [ɡ

    生活 2021年10月29日
  • 组件优化性能

    技术组件优化性能 组件优化性能import React from "react";
    class Home extends React.Component {constructor(props) {sup

    礼包 2021年12月17日
  • springboot整合druid

    技术springboot整合druid springboot整合druid一.SpringBoot整合Druid
    Druid是阿里巴巴的一个开源项目,是一个数据库连接池的实现,结合了C3P0、DBCP、

    礼包 2021年11月12日
  • 氯化钙是沉淀吗,氯化钙静止时间长会不会产生沉淀

    技术氯化钙是沉淀吗,氯化钙静止时间长会不会产生沉淀不会与氯化钙的密度一类的有关了,温度啊,通风情况啊,都有一定的关系,与CO2加入石溶液是一样的道理氯化钙是沉淀吗。 CO2与SO2加入水中会生成碳酸和亚硫酸,酸与盐反应生

    生活 2021年10月20日
  • 【go笔记】使用标准库flag解析命令行参数

    技术【go笔记】使用标准库flag解析命令行参数 【go笔记】使用标准库flag解析命令行参数使用标准库flag解析命令行参数前言
    Go语言标准库中提供了一个包flag可以解析命令行参数。
    示例代码:文

    礼包 2021年12月13日
  • C++怎么结合使用泛型和面向对象技术

    技术C++怎么结合使用泛型和面向对象技术本篇内容介绍了“C++怎么结合使用泛型和面向对象技术”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年11月24日