Open aikin opened 1 year ago
规矩 :光把代码写好可不够。必须时时保持代码整洁。
一个项目代码,应该要随着时间流逝而越变越好。 持续改进不是专业性的内在组成部分。
代码是机器运行,同时也是需要人维护的。为了让生活更加美好,请不要不美的代码,恶心你的队友。
古人说,拥有美丽心灵的人,写出来的代码也很美。
代码坏味道,怎么样的才算坏味道?可读性,可扩展性,可维护性.... 然而这个如何量化?
代码坏味道的修改成本,随着时间的增加, 修改成本会越来越高。特别是那种基础设施的代码,牵一发而动全身。
怎么样才算基础设施类型的代码? 按照生命周期阶段考虑,产品的生命周期,功能的生命周期,数据生命周期,请求的生命周期等。比如说:架构,功能抽象设计,数据库设计等。 对于一个 web 的请求来说, request -> security -> controller ...-> service ->service ...-> repository->repository ...-> DB
比如:如果修改的是数据库层,修改的辐射面, 就是从下往上。如果修改的是,security,辐射面,就是整个横向面,加上如果是微服务架构,整个 auth 层 都需要修改。
一开始的抽象层次就不对,比如说,不该在基类的放在了基类里面。
对象的内部结构,应该隐藏,外部调用不应该关注该对象的内部细节。 每个函数只做一件事。 所有的系统都是演变过来的。没有很多具象的前提下的抽象都是耍流氓 对象是过程的抽象,线程是调度的抽象 性能 和 整洁代码的妥协