`

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

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

    味的定义可以看出,代码异味(Code Smell)是软件开发中的一种不良编程习惯或设计问题,它降低了软件的可读性、可维护性和可靠性。Fowler 提出了22种常见的代码异味,包括数据类、大类、长方法、特征依恋等。针对...

    QT代码统计器QT代码统计器

    通过定期进行代码统计和分析,可以发现潜在的代码异味(code smell),并及时进行重构,以保持代码的可读性和可维护性。 总之,QT代码统计器是QT开发环境中一个实用的辅助工具,它通过提供详细的代码统计信息,帮助...

    代码审计工具汇总

    通过SonarQube,开发者可以发现潜在的代码质量问题,包括潜在的bug、漏洞和代码异味。 2. **PMD**: PMD是一款Java源码分析器,它可以检查代码中的常见问题,如未使用的变量、空的catch块、冗余的代码等。PMD也...

    JAVA代码优化工具

    9. **SonarQube**: SonarQube是一个开源的质量管理平台,它能够检测代码中的各种问题,包括性能问题、代码异味、潜在错误等,帮助团队维持代码质量。 10. **Java Mission Control (JMC)**: JMC是Oracle提供的一个...

    Java代码审查工具

    1. **SonarQube**:这是一个开源的静态代码分析平台,能够检测代码中的bug、漏洞、代码异味以及复杂度。SonarQube支持多种编程语言,包括Java,它通过集成持续集成/持续部署(CI/CD)工具,可以在代码提交时实时进行...

    Ruby-MetricFu一个完整的代码度量

    6. **reek(代码异味探测器)**:Reek检测出代码中可能存在的坏味道,如过多的类方法、实例变量过度使用等,帮助改进设计。 7. **RCov(覆盖率工具)**:RCov提供了代码覆盖报告,显示测试对代码的覆盖程度,确保更...

    重构改善现有代码的设计

    5. **代码异味(Code Smells)**:书中列举了许多常见的代码异味,如重复代码(Duplicate Code)、过长的方法(Excessive Method Length)和过大的类(Class with Too Many Responsibilities)等,这些都是代码质量下降的...

    代码分析器

    代码分析器是一种强大的工具,主要用于检查、理解和优化源代码,以提高软件的质量和性能。在IT行业中,特别是在软件开发和维护领域,代码分析器扮演着至关重要的角色。它可以帮助开发者发现潜在的错误、代码异味...

    静态代码检查工具

    静态代码检查工具是软件开发过程中用于在代码编写阶段发现潜在错误、代码异味(code smells)以及违反编码规范的工具。这类工具通常不需要运行代码,而是对代码文件进行分析,对可能存在的问题给出警告或建议,以...

    白盒测试源代码

    7. **静态代码分析**:在执行任何测试之前,可以通过静态代码分析工具对源代码进行审查,发现潜在的问题,如代码异味、潜在的空指针异常、未使用的变量等,这有助于提高测试效率。 8. **调试技术**:在白盒测试中,...

    写好代码的十个秘诀_微软中国研究院

    随着项目发展,定期进行代码重构,优化代码结构,消除代码异味,保持代码的整洁。 9. **代码审查** 定期进行同行代码审查,发现潜在问题,提升团队整体编码水平。通过他人的视角,可以发现自身忽视的问题。 10. ...

    java代码审查.pdf

    代码审查是一种软件质量保证手段,它涉及对源代码的系统检查,旨在发现错误、代码异味(code smells)、不规范的编程实践以及潜在的性能问题。一个成功的代码审查可以显著提升代码质量,减少后期维护成本,同时也...

    SonarQube代码质量管理平台

    它结合了静态代码分析和代码审查的特性,为开发团队提供了一种全面的方式来提升代码质量和安全性。SonarQube的核心目标是帮助开发者发现并修复代码中的bug、漏洞和异味,从而确保软件项目的健康和可维护性。 ...

    重构改善既有代码的结构

    重构通常包括提取函数、拆分类、移除重复代码、简化条件表达式等步骤,这些操作有助于消除代码异味,提高代码的结构清晰度。 在"重构:改善既有代码的设计(中英文)"这个文件中,我们可以期待找到关于重构的详细...

    代码质量监控

    它可以自动检测代码中的错误、漏洞和代码异味,并为开发者提供详细的反馈,帮助他们改进代码质量。SonarQube 支持多种编程语言,包括 Java、C#、JavaScript 等,并能够与多种持续集成工具(如 Jenkins)集成,从而在...

    sonarqube代码规范整理_jchaoy

    通过对代码进行分析,SonarQube 可以检测出潜在的 bug、漏洞和异味,从而帮助开发者提高代码质量和安全性。本文档旨在整理 SonarQube 检测出的问题,并提供相应的解决方案,以便帮助开发者编写更加规范、安全的代码...

Global site tag (gtag.js) - Google Analytics