`

8种代码臭味

    博客分类:
  • J2SE
阅读更多
千里之行,始于足下,千里之堤,毁于蚁穴,做好设计的第一步就是写好你的代码,博文8 Signs your code sucks总结了代码中第一个感觉的臭味,让你能够于细微之处发现软件的质量问题。

1.方法内代码超过一个电脑屏幕:
一个方法只应该执行特定的任务,一个方法不应该包含一些这样的逻辑,例如判断用户名字段包哈巴的数据是否有效,是否存在等。如果一个方法代码大得超过一个屏幕,那么这是表明它做了太多的事情,需要切分。

2.你在重用变量:
除非你工作于嵌入式领域,否则内存是便宜的,不要做内存的守财奴,要注重可维护性。

3.你直接访问request/session :
这和具体应用服务器环境绑定,难于测试,所有应用数据应该直接解耦Session/request,保存到Bean中,通过 bean的 getters 和 setters方法, 创建使用者访问数据的合约,这将大大帮助代码的可维护性,个人补充,不要把类中的Collection字段直接通过Collection getCollection来暴露给外界,通过方法封装对Collection的操作。


4.你需要使用注解来解释代码如何使用:
代码应该自己能够解释它如何使用,易于可读,如果你发现你自己都需要注解专门解释如何使用,那么就要重构你的代码。这里注解不是指javadoc等必要文档。

5.一个exception系列错误没有返回最原始的错误:
你不应该吃掉exception错误,在catch一个exception时,要打印出其出错tack trace. 如果不知道错误来源,如何纠正错误呢?

6.你的代码是一堆泥球:
代码粘在一起,机会没有分离分层,代码应该是模块化,这样易于维护和重用。 MVC是关注用户View视图界面发生的事情,控制器是关注程序流程和数据的校验,而处理业务逻辑是领域模型的事情,只有模型可以和数据库访问直接进行交互。

7.难于单元测试
如果你发现Bug,那么些一段新的代码片段,它会花去你一些时间,但是这样代码就能处理更加复杂的事情了。
分享到:
评论

相关推荐

    reek, ruby的代码异味 检测器.zip

    reek, ruby的代码异味 检测器 用于 ruby的 代码异味 检测器目录概述快速入门示例支持的红宝石固定气味警告源代码代码异味配置文件命令行接口配置文件配置加载程序配置选项生成一个'待办事项'列表注意:要注意多个...

    异味代码到底有多糟糕?衡量代码异味的影响

    用科学实验来衡量哪些代码异味最难维护。前辈曾经教导我们,作为开发人员,我们最主要的职责就是不要写烂代码。除非你是单兵作战并且只是写几行很快就会弃用的Perl脚本而已,否则最重要的一点,就是你写的代码必须...

    基于排序损失的ECC多标签代码异味检测方法.docx

    基于排序损失的ECC多标签代码异味检测方法.docx

    毕业设计安卓源码-RAndroid:代码异味重构AndroidStudio插件

    用于代码异味重构的 Android Studio 插件。 它能够修复特定于 Android 的代码异味和/或建议适当的重构来解决它们。 该插件支持以下代码异味: 自动重构: 初始化 OnDraw (IOD) 重启动服务 (HSS) 刚性警报管理器 (RAM...

    代码重构-重构是设计演进的基本方法

    软件设计是演进过程,而重构是设计演进的基本方法。重构是指不改变软件行为的前提下,修改程序内部结构。重构说简单,做不简单。首先,需要知道代码的好坏,即代码异味,设计原则等。其次,需要以自动测试作为保障。

    Automatic-Code-Smell-Detector:IntelliJ插件专注于自动检测和纠正Java代码中的代码气味

    自动代码气味检测器自动代码气味检测器是IntelliJ IDEA插件,致力于自动检测和纠正Java代码中的代码气味。下载及安装可以按照以下步骤直接在IntelliJ IDEA中下载该插件: 按Ctrl + Alt + S或选择文件| 设置(适用于...

    sonarqube代码规范整理_jchaoy

    针对SonarQube检测出的bug、漏洞以及异味的修复整理,根据该文档可以让系统代码更加规范、系统安全更高

    code-smell-refactoring:几种语言中各种代码异味的小例子

    代码味道重构练习 此存储库中的每个分支都有给定语言的练习。 原始源材料(在java分支中)是来自(C) Jason Gorman。 有关 TDD 和重构代码异味,请查看。

    python如何实现代码检查

    通常我们的python代码都是遵循PEP8的规范化格式,目的是为了保持代码的一致性、可读性。,这里给大家推荐几个常用的静态代码检查工具,大家可以酌情选择使用 1. pylint Pylint是一个Python静态代码分析工具,它可以...

    让开发自动化持续重构--使用静态分析工具识别代码味道

    在过去的几年里,我曾看过很多项目的大量源代码,从精美的设计到像是用胶带绑定到一起的代码。我写过新的代码也维护过其他开发人员的源代码。我喜欢编写新的代码,但也喜欢采用一些现有的代码,以某种方法将其简化或...

    smellycampus:谈论代码异味

    它使用完全非科学的启发式方法将模型数据(风速和方向,大气不同高度的温度,湿度等)组合为单个臭味参量-HBI。 每个模型运行的结果都存储在SQLite数据库中。 并非每个模型运行都具有所有预测小时的数据

    sonar-scanner-5.0.1.3006-windows

    Sonar Scanner是一种静态代码分析工具,旨在帮助开发者带来更高质量的代码。它提供了一个工作流,通过扫描代码并提供有关编码错误、漏洞、代码异味等方面的问题的反馈,帮助开发团队优化其代码质量。 Sonar Scanner...

    sonar-scanner-5.0.1.3006-linux

    Sonar Scanner是一种静态代码分析工具,旨在帮助开发者带来更高质量的代码。它提供了一个工作流,通过扫描代码并提供有关编码错误、漏洞、代码异味等方面的问题的反馈,帮助开发团队优化其代码质量。 Sonar Scanner...

    sonar-scanner-5.0.1.3006-macosx

    Sonar Scanner是一种静态代码分析工具,旨在帮助开发者带来更高质量的代码。它提供了一个工作流,通过扫描代码并提供有关编码错误、漏洞、代码异味等方面的问题的反馈,帮助开发团队优化其代码质量。 Sonar Scanner...

    Pysmell:用于检测Python代码中的代码气味的工具

    皮斯梅尔用于检测Python代码中的代码气味的工具。 使用前,请在“ parameter.py”中指定目录。

    对软件代码克隆以及可用于处理它们的工具和技术的回顾-研究论文

    代码重复或代码片段复制并通过修改或不修改粘贴再次使用它是软件维护中的一种已知形式的代码异味。 这被称为代码克隆,是使软件维护变得非常困难的一个因素。 一个值得注意的主要缺点是这个重复的片段,如果在一个...

    diKTat:Kotlin的严格编码标准和用于检测代码气味,代码样式问题和错误的自定义规则集

    它可用于检测和自动修复CI / CD过程中的代码异味。 可在找到可用的受支持规则和检查的完整列表。 现在,diKTat已被添加到列表和。 感谢社区的支持! 先见 为什么要在CI / CD中使用diktat? 有多种工具(例如...

    code-nest:Github 上流行的 javascript 存储库中源代码的缩进级别

    Linus Torvalds 认为超过三个级别的缩进是一种代码异味,它是更大设计缺陷的一部分 现在,有些人会声称拥有 8 个字符的缩进会使代码向右移动太远,并且难以在 80 个字符的终端屏幕上阅读。 答案是,如果您需要 3 级...

Global site tag (gtag.js) - Google Analytics