实战二(下):如何实现一个支持各种统计规则的性能计数器?

26 | 实战二(下):如何实现一个支持各种统计规则的性能计数器? 在上一节课中,我们对计数器框架做了需求分析和粗略的模块划分。今天这节课,我们利用面向对象设计、实现方法,并结合之前学过的设计思想、设计原则来看一下,如何编写灵活、可扩展的、高质量的代码实现。 ...

May 21, 2022 · 15 min

实战二(下):重构ID生成器项目中各函数的异常处理代码

37 | 实战二(下):重构ID生成器项目中各函数的异常处理代码 平时进行软件设计开发的时候,我们除了要保证正常情况下的逻辑运行正确之外,还需要编写大量额外的代码,来处理有可能出现的异常情况,以保证代码在任何情况下,都在我们的掌控之内,不会出现非预期的运行结果。程序的bug往往都出现在一些边界条件和异常情况下,所以说,异常处理得好坏直接影响了代码的健壮性。全面、合理地处理各种异常能有效减少代码bug,也是保证代码质量的一个重要手段。 ...

May 21, 2022 · 14 min

实战一(上):通过一段ID生成器代码,学习如何发现代码质量问题

34 | 实战一(上):通过一段ID生成器代码,学习如何发现代码质量问题 在前面几节课中,我们讲了一些跟重构相关的理论知识,比如:持续重构、单元测试、代码的可测试性、解耦、编码规范。用一句话总结一下,重构就是发现代码质量问题,并且对其进行优化的过程。 ...

May 21, 2022 · 12 min

实战一(上):业务开发常用的基于贫血模型的MVC架构违背OOP吗?

11 | 实战一(上):业务开发常用的基于贫血模型的MVC架构违背OOP吗? 在前面几节课中,我们学习了面向对象的一些理论知识,比如,面向对象四大特性、接口和抽象类、面向对象和面向过程编程风格、基于接口而非实现编程和多用组合少用继承设计思想等等。接下来,我们再用四节课的时间,通过两个更加贴近实战的项目来进一步学习,如何将这些理论应用到实际的软件开发中。 ...

May 21, 2022 · 21 min

实战一(上):针对业务系统的开发,如何做需求分析和设计?

23 | 实战一(上):针对业务系统的开发,如何做需求分析和设计? 对于一个工程师来说,如果要追求长远发展,你就不能一直只把自己放在执行者的角色,不能只是一个代码实现者,你还要有独立负责一个系统的能力,能端到端(endtoend)开发一个完整的系统。这其中的工作就包括:前期的需求沟通分析、中期的代码设计实现、后期的系统上线维护等。 ...

May 21, 2022 · 16 min
总访问量 总访客数