设计原则与思想:规范与重构 (11篇)
文章平均质量分 91
设计原则与思想:规范与重构 (11篇)
码龄23年
想起来就更新
展开
-
37 | 实战二(下):重构ID生成器项目中各函数的异常处理代码
本文核心内容是重构ID生成器项目中的异常处理代码。首先,文章探讨了generate()函数中主机名获取失败时返回NULL值的合理性,并提出了抛出受检异常的改进方案。随后,文章对getLastFieldOfHostName()和getLastSubstrSplittedByDot()函数进行了重构,增加了异常处理逻辑。通过这些改进,文章强调全面合理的异常处理有助于减少bug,提升代码健壮性。重构后的RandomIdGenerator代码展示了具体的异常处理优化,提供了实际的重构思路。本文通过简单的ID生成器代原创 2024-10-08 10:03:58 · 377 阅读 · 0 评论 -
36 | 实战二(上):程序出错该返回啥?NULL、异常、错误码、空对象?
本文深入探讨了函数异常处理的各种情况和处理方式,为程序员提供理论知识与实际指导。首先,文章分析了函数出错时返回的几种数据类型,如错误码、NULL值、空对象和异常对象,并详细讨论了各自的优缺点。接着,介绍了空对象设计模式与抛出异常对象的方式,并对不同编程语言中抛出受检异常或非受检异常的选择提供了建议。文章还总结了处理函数异常的三种方法。整体而言,本文涵盖了异常处理的理论与实践,为程序员在设计函数时应对异常提供了有价值的参考。原创 2024-10-08 10:03:33 · 468 阅读 · 0 评论 -
35 | 实战一(下):手把手带你将ID生成器代码从“能用”重构为“好用”
本文介绍了通过逐步重构将ID生成器代码从“能用”提升为“好用”的过程,提出了四次重构计划,分别提升可读性、可测试性、编写单元测试及添加注释。文章详细阐述了第一轮重构步骤,分析了接口和实现类的命名改进。第二轮重构中,作者将generate()函数定义为普通函数,并优化了访问权限和注释。第三轮重构为代码补全了单元测试,着重测试复杂逻辑。最后,文章讨论了函数功能的定义,并针对功能编写了单元测试。通过实际案例,本文展示了重构技巧和过程,强调代码质量、设计演变和细节处理的重要性,为开发者提供了宝贵参考。原创 2024-09-29 09:37:40 · 662 阅读 · 0 评论 -
34 | 实战一(上):通过一段ID生成器代码,学习如何发现代码质量问题
本文总结了一段ID生成器代码的重构过程,介绍了为每个请求分配唯一ID以便日志追踪的需求背景。首先展示了一份基本的实现,指出了其中的不足之处,如代码质量低、可读性差和缺乏异常处理等问题。接着,文章通过分析通用关注点和业务需求,详细评估了代码的设计问题,涉及可测试性、异常处理不当和依赖注入不合理等方面。最后,文章提供了发现代码质量问题的清单,并讨论了如何优化Logger对象的依赖注入。整体内容通过实际案例分享重构思路,帮助读者提高代码质量意识。原创 2024-09-29 09:37:04 · 753 阅读 · 0 评论 -
33 | 理论五:让你最快速地改善代码质量的20条编程规范(下)
本文总结了20条编程规范,旨在帮助程序员提升代码质量。重点包括将代码拆分为小单元,避免函数参数过多,以及设计单一职责的函数。作者强调模块化和抽象思维的重要性,建议将复杂逻辑提炼成类或函数,以增强可读性。此外,文章提供了解决函数参数过多的方法,如拆分成多个函数或封装为对象,并警示不要用布尔标识参数控制逻辑,而应拆分成独立函数。最后,通过示例展示如何实现单一职责,强调移除深嵌套和使用解释性变量的重要性。这些实用的编程规范和技巧能显著改善代码可读性与质量。原创 2024-09-27 14:35:18 · 923 阅读 · 0 评论 -
32 | 理论五:让你最快速地改善代码质量的20条编程规范(中)
编程规范对代码质量至关重要。本文总结了20条编程规范中的6个重点,帮助读者提升代码质量。首先,类和函数的代码行数应适中,避免过于复杂,确保易读性。其次,一行代码应控制在IDE的显示宽度内,以便于维护。此外,使用空行分隔代码块和合理缩进能提升可读性。关于大括号位置和类内成员排列顺序,尽管存在争议,但团队统一遵循规范至关重要。总之,本文提供实用建议,强调代码风格的重要性,鼓励团队统一风格并与业内规范保持一致,从而提升协作效率。原创 2024-09-27 14:27:09 · 710 阅读 · 0 评论 -
31 | 理论五:让你最快速地改善代码质量的20条编程规范(上)
本文总结了编程规范中命名与注释、代码风格和编程技巧的关键内容。首先,命名需准确且可读,符合项目统一规范。其次,注释的目的是提升代码理解度,应涵盖功能、原因、实现方式,并针对复杂类和接口提供使用说明。此外,适度控制注释数量,通过合理命名、函数提炼和解释性变量,增强代码可读性。总体而言,这些规范有助于改善代码质量,提高可读性和可维护性。原创 2024-09-26 18:15:10 · 836 阅读 · 0 评论 -
30 | 理论四:如何通过封装、抽象、模块化、中间层等解耦代码?
解耦是软件设计与开发中的核心工作,旨在通过封装、抽象、模块化及引入中间层等方式,提高代码的可读性、可维护性和可测试性,实现高内聚、松耦合的设计。判断代码是否需要解耦,可以通过评估修改是否影响其他模块或绘制依赖关系图来衡量。常见的解耦方法包括封装与抽象、引入中间层、模块化,以及应用单一职责原则、依赖注入、基于接口编程、组合优先于继承等设计原则。解耦的应用在实际开发中广泛存在,如Spring框架中的AOP和IOC,成功实现了业务与非业务代码及对象构建与使用的解耦。原创 2024-09-26 18:08:41 · 975 阅读 · 0 评论 -
29 | 理论三:什么是代码的可测试性?如何写出可测试性好的代码?
本文探讨了提高代码可测试性的方法,特别是在编写可测试代码时遇到的挑战及解决方案。通过一个复杂的交易类代码实例,作者提出了六个测试用例,并分析了在测试过程中遇到的问题,如对外部服务的依赖和网络通信带来的不确定性。文章详细介绍了如何通过依赖注入和mock技术来隔离外部依赖,增强单元测试的稳定性和效率。作者还强调了良好的代码设计原则对提高可测试性的重要性,鼓励开发人员在日常编码中关注代码的可测试性。原创 2024-09-23 14:31:26 · 769 阅读 · 0 评论 -
28 | 理论二:为了保证重构不出错,有哪些非常能落地的技术手段?
本文介绍了单元测试在软件开发中的重要性及其对代码质量提升的作用。单元测试不仅可以有效发现代码中的问题,还能揭示设计上的不足,是集成测试的有力补充。文章指出,编写单元测试的过程也是代码优化和重构的过程,有助于提高代码的可维护性和可读性。作者分享了编写单元测试的经验,包括如何控制测试耗时、提高覆盖率以及选择合适的测试框架。文章还分析了单元测试难以实施的原因,如编写复杂、团队认知不足和开发进度紧张等问题。通过这篇文章,读者可以更好地理解单元测试的重要性及其在软件开发中的实际应用。原创 2024-09-23 14:29:59 · 1423 阅读 · 0 评论 -
27 | 理论一:什么情况下要重构?到底重构什么?又该如何重构?
本文深入探讨了重构在软件开发中的重要性和实践方法,重构的目标是优化软件内部结构,提高代码质量而不改变其外部行为。文章区分了大规模高层次和小规模低层次的重构,涵盖系统设计和代码细节的优化。持续重构被视为开发过程中不可或缺的一部分,以避免代码质量恶化。重构不仅保证了代码的可维护性和灵活性,还为应对未来需求变化做好准备,同时促进工程师的技术成长和能力提升。本文为开发者提供了关于重构的技术指导和实践建议。原创 2024-09-21 11:47:22 · 1385 阅读 · 1 评论