我们一起来读书吧 关注:153贴子:2,641
  • 1回复贴,共1

重构-改善既有代码的设计 第一章

只看楼主收藏回复

重构的必要性
功能扩展的瓶颈:当代码结构混乱,试图为其增加新功能时,会发现这是一个艰巨的任务,甚至可能变得不可能。
代码可读性:如果一个程序的工作原理对团队成员来说难以捉摸,那么它的迭代和维护将变得异常困难,知识的传递也会受到阻碍。
重构的保障条件
测试的重要性:在重构之前,确保有一个强大的测试体系来验证代码的正确性。这些测试应能够自我执行并检测潜在的错误。
测试的即时反馈:养成在重构后立即运行测试的习惯,确保重构没有引入新的问题。
重构的手段
功能的模块化:将复杂的功能分解成更小、更易于管理的部分,以提高代码的可读性和可维护性。
命名的艺术:通过给函数参数和变量起具有描述性的名称,使代码更加直观易懂。
精简作用域:通过减少局部变量的使用,可以简化代码结构,降低理解成本。
代码的重塑:采用各种重构技巧,如查询取代临时变量、拆分循环等,来优化代码结构。
函数声明的调整:根据实际需求,灵活地调整函数的参数、返回值和访问权限。


IP属地:北京1楼2024-05-31 13:05回复
    何时不重构:
    不需要修改的代码:如果某段代码运行稳定,没有bug,并且满足当前的需求,同时也不计划在未来对其进行扩展或修改,那么就没有必要去重构它。这样的代码可以被视为一个“黑盒”,只要其输入和输出行为保持不变,内部实现就不需要过多关注。
    重构的风险如何解决:
    良好的自测:在重构之前和之后,都需要进行充分的测试以确保代码的功能没有因为重构而受损。这包括单元测试、集成测试和系统测试等。良好的自测可以大大降低重构的风险。
    测试驱动开发(TDD):测试驱动开发是一种先写测试代码再写实现代码的开发方法。在重构过程中,使用TDD可以确保重构后的代码仍然满足原有的功能需求。通过先编写测试用例,然后再编写满足这些测试用例的代码,可以确保重构的每一步都是安全的。
    代码审查:在重构完成后,进行代码审查也是一个重要的环节。通过同事之间的代码审查,可以发现可能存在的问题和遗漏的测试用例,从而进一步提高代码的质量。
    备份原始代码:在进行重构之前,最好先备份原始的代码。这样,如果在重构过程中出现了不可预期的问题,可以迅速回滚到原始的状态,避免造成更大的损失。
    重构是一个需要谨慎进行的过程。在决定是否进行重构以及如何进行重构时,需要综合考虑多种因素,包括代码的现状、未来的需求、团队的实力和资源等。同时,也需要采取一系列的措施来降低重构的风险,确保重构的成功。


    IP属地:北京2楼2024-06-07 17:07
    回复