设计模式

怎么去评判一个代码的好坏?

我们需要从以下角度去看待

可维护性

可维护性是指,当我们要去updata或者add一个方法的时候,不会出现Bug, 和可维护性相关的东西有很多是否有技术文档,公司成员开发能力是否强,使用到的技术栈是否复杂,项目的代码量,业务逻辑是否复杂,并且对于不同经验的工程师来说可维护性的评估也不一样

可扩展性

当我们添加一个新的功能代码的时候,原有的代码已经预留好了扩展点,我们不需要修改原有的代码,只要在扩展点上添加新的代码即可,不需要因为要添加一个功能而大动干戈,改动大量的原始代码。

可读性

这个就是,你写的代码不仅自己要看的懂,别人也要看的懂,Google工作通常会有导师带领,code review

灵活性
  • 当我们添加一个新的功能代码的时候,原有的代码已经预留好了扩展点,我们不需要修改原有的代码,只要在扩展点上添加新的代码即可。这个时候,我们除了可以说代码易扩展,还可以说代码写得好灵活。
  • 当我们要实现一个功能的时候,发现原有代码中,已经抽象出了很多底层可以复用的模块、类等代码,我们可以拿来直接使用。这个时候,我们除了可以说代码易复用之外,还可以说代码写得好灵活。
  • 当我们使用某组接口的时候,如果这组接口可以应对各种使用场景,满足各种不同的需求,我们除了可以说接口易用之外,还可以说这个接口设计得好灵活或者代码写得好灵活。
简洁性

KISS原则(Keep it Simple, Stupid),真正的大师往往用最简单的做法解决最复杂的问题,大道至简

可复用性

这个通常通过继承和实现接口能够体现,主要是为了减少重复代码的编写