`
JackyCheng2007
  • 浏览: 252501 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何提高代码质量

阅读更多
       本文是写给开发人员的建议,不会涉及很多QA方面的讨论。我觉得有三个方法可以提高软件质量,根据重要性和有效性一次为:Code Review, Refactor和Unit Test。这三个方法不是三个阶段,而是同时交叉进行的。
1. Code Review - 逻辑分析
       当需要开发或者新增一些功能的时候,首先就是设计实现方案,然后开始编码实现。我觉得在开始编码之前,需要思考一下你的实现方案的逻辑。这个设计是不是合理的?能不能满足需求,有没有漏洞?在能想到的各种情形下是否能工作?和现有的其他逻辑是否能保持一致性。不要在你还没有像清楚逻辑合理性之前就开始编码。在思考这些问题的时候,你可能需要和用户沟通你的理解,和其他设计人员或者开发者沟通你对别人的相关逻辑的理解,尤其是和你的将要实现的功能有交互的功能逻辑。准确把握好这些问题之后,就可以开始实现了。
        表达逻辑性的一个关键就是确保每一个变量名,方法名和类名都有明确单一的语义。
        当然,一开始不可能完全回答这些问题,只能尽量,至少一些核心关键点要高清楚,不然,你的努力方向有可能是错的。所谓“方向比距离重要”,不要急于开始,一面南辕北辙。在编码和测试中,你还要回头对这些问题思考和论证。对于复杂的逻辑,最好准备一个笔记本,画下你的思考,便于回头分析和查看。
2. Refactor
    重构有太多的好处,我想说的时候它能很好地提高你的代码质量,重构使得代码更为易读,能让你更好的review你的代码和逻辑,从而发现设计上的bug,及时解决。通过code review可以发现和解决很多在测试中无法或者很难发现的bug。反过来,如果代码设计的好,基本上没有什么是在测试的时候发现的bug在code review的时候发现不了的。
3. Unit Test
    我说的Unit test,必须是自动化的测试。刚开始因为懒,或者时间紧,你可能不写测试,这其实就是欠下了债务,越往后,你越觉得没有时间,同时你又不得不靠手工加班去找bug,尽管你花了几个小时才找到的bug,可能一分钟就搞定了,那时就会捶胸顿足。
    在测试的时候,你需要再思考你的逻辑,从API或者用户的角度去思考,同时还要重构你的代码,以易于测试。
    想想看,在你的开发工作中,你的debug时间占据了整个时间的比例大概是多少。我们的开发活动大概是这样的:分析和确定需求,设计实现方案,编码,单元测试,集成测试。大部分programmer都工作在设计实现方案到单元测试之间。分析和确定需求主要由项目经理或者产品经理来做,当然dev也可以给建议。集成测试一般由QA来完成。debug活动存在于单元测试和集成测试过程中。对于单元测试,你采用手工测试,也可能采用自动测试。集成测试也一样。
       在你做单元测试的时候,你会有大量的debug工作。在QA做集成测试的时候,他们会给你提bug,这时候你还要debug。如果再单元测试的时候,你能用10分钟发现bug,2分钟解决bug,那么如果这个bug是QA在集成测试的时候给你提出来的,并且是3天或者一周后才给你提出来的,你大概需要几十分钟debug来确定问题所在,然后还可能是2分钟就解决了。
     
       所以说,bug大部分情况下好解决,但是难找,并且越早去找,越容易找到。这还没有算上因此blockQA的时间,重新部署的时间,还有沟通和重现bug的时间。这大概是为什么大家强调单元测试的重要性。

       但我也不赞成写太多的测试,只写我认为比较复杂,比较重要的测试,我认为只要覆盖30%左右就好了。希望这30%的功能是用户在常用的那70%。

分享到:
评论

相关推荐

    一堂如何提高代码质量的培训课(2)

    这堂“如何提高代码质量的培训课(2)”旨在深入探讨如何通过有效的方法和技术来提升代码质量,从而构建更加可靠、可维护和高效的软件系统。我们将从源码管理和工具应用两个核心方面进行详细阐述。 首先,源码管理...

    提高代码质量(Java篇).pptx

    提高代码质量(Java篇) 本资源摘要信息关注提高代码质量,主要涵盖编码规范、静态代码分析、单元测试、代码评审和重构、持续集成等方面。 一、编码规范 编码规范是提高代码质量的基础。编码规范主要包含以下几个...

    如何提高代码质量(管理篇):代码复查

    在软件开发过程中,提高代码质量是一项至关重要的任务。代码复查是确保代码质量的重要手段,它是一种同行评审过程,旨在发现并修复潜在的错误、不一致性和设计问题。本篇文章将探讨如何通过有效的代码复查来提升代码...

    提高代码质量的157个建议

    针对C#编程语言,以下是从“提高代码质量的157个建议”这一主题中提炼出的一些关键知识点: 1. **遵循编码规范**:统一的命名规则、注释风格和代码格式能让团队协作更顺畅,提高代码可读性。 2. **使用强类型**:...

    用FindBugs提高代码质量.doc

    《用FindBugs提高代码质量》 在软件开发过程中,确保代码质量是至关重要的,而FindBugs正是这样一款能够帮助开发者提升代码质量的工具。FindBugs是一款静态分析工具,它通过对Java类或JAR文件的字节码进行分析,...

    如何全面的提高代码质量

    ### 如何全面提高代码质量 #### 什么是代码质量 在软件开发领域,代码质量是指代码在可维护性、可读性、效率等方面的表现。高质量的代码不仅能够减少后期的维护成本,还能提升软件产品的整体性能与用户体验。好的...

    一堂如何提高代码质量的培训课

    【提高代码质量】是软件开发领域中至关重要的议题。代码质量不仅影响软件的稳定性和可靠性,还直接影响到项目的维护成本和团队的效率。本篇主要探讨如何提升代码的可读性、可维护性和可变更性这三个关键因素。 首先...

    让开发自动化 用 Eclipse 插件提高代码质量

    通过合理选用和配置这些 Eclipse 插件,开发者可以大大提高代码质量,减少错误,同时提升开发效率。不仅如此,Eclipse 插件的灵活性使得开发者可以根据项目需求,自定义适合的开发环境,实现开发工作的自动化。因此...

    万字长文详解如何使用 Swift 提高代码质量.pdf

    ### 如何使用Swift提高代码质量 #### 一、前言 随着Swift的不断发展与完善,越来越多的iOS开发者选择使用Swift作为主要的开发语言。本文旨在详细介绍如何利用Swift的特性提高代码质量,降低软件缺陷率,并提升开发...

    如何提高代码质量以及OOP编程

    PHP日常培训资料 关于oop编程规范的7大原则,以及如何提高代码质量需要注意的点,纯属经验汇总

    好.让开发自动化 用 Eclipse 插件提高代码质量1

    让开发自动化 用 Eclipse 插件提高代码质量1” 【描述】:本文探讨了如何利用Eclipse插件自动化代码质量检查,包括CheckStyle、PMD的CPD、Coverlipse、JDepend和Eclipse Metric插件,以提升开发效率和代码质量。 ...

    JAVA 优化编程,提高代码质量

    最后,代码规范和重构也是提高代码质量的重要手段。遵循良好的编码风格,保持代码简洁、清晰,便于团队协作和后续维护。定期进行代码审查和重构,去除重复代码,提高代码的可读性和可维护性。 总结,Java优化涵盖了...

    Guava-18.0是一个功能强大的Java库,用于简化Java编程和提高代码质量

    Guava-18.0是一个功能强大的Java库,主要用于简化Java编程和提高代码质量。通过使用Guava-18.0提供的各种实用工具和功能,开发人员可以更快速地编写可靠、可维护的代码,并减少错误和漏洞的出现。Guava-18.0适用于...

    ChatGPT提高你日常工作的五个特点以及如何使用它来提高代码质量

    ChatGPT提高你日常工作的五个特点以及如何使用它来提高代码质量

    如何提高c_c++代码质量

    "提高C++/C代码质量的经验总结" 在软件开发中,编写高质量的C++/C代码是非常重要的。高质量的代码能够提高软件的可维护性、可读性和可扩展性,减少 bug 和错误的出现。本文总结了提高C++/C代码质量的经验,旨在帮助...

    关于c语言编译预处理与代码质量的提高的三篇论文

    这三篇论文结合了理论与实践,旨在提升程序员对C语言编译预处理的理解,并通过编码技巧提高代码质量。对于中低水平的学习者来说,这些内容提供了深入学习和提高的基础,有助于他们在编程实践中做出更优的选择。

    提高php代码质量 36计 转载开源中国社区

    提高PHP代码质量的36计,是一份针对PHP开发者提升代码质量和编程效率的指南,尤其适合初学者和希望精进技能的中级开发者。本文将详细解读其中的几个关键点,帮助开发者理解并实践这些规范。 ### 1. 避免使用相对...

    让开发自动化: 用 Eclipse 插件提高代码质量

    总的来说,通过合理选择和使用Eclipse插件,开发者能够构建一个高效、自动化的开发环境,从而提升代码质量,减少错误,提高开发效率。记住,良好的代码质量不仅仅是写出来的,更是通过持续的检查、测试和优化实现的...

Global site tag (gtag.js) - Google Analytics