代码精进之路

一、命名 

函数的命名要体现做什么,而不是怎么做

方法名用动词

二、规范 

正确的使用空行
try catch统一在某一层处理
错误码规范

三、函数 

函数的第一规则是要短小,第二规则是要更短
如果是Java语言,我建议一个方法不要超过20行代码 

职责单一,一个方法只做一件事情

Optional类主要解决的问题是“臭名昭著”的空指针异

减少辅助代码,比如通过注解、切面等把辅助代码被从业务逻辑中剥离出去,并进行统一维护,既减少了重复,又避免了和具体缓存实现的耦合,可谓是一举多得

按照代码冗余程度排序,经典类大于匿名类,匿名类大于 Lamda(匿名函数),Lamda大于方法引用

 

四、设计原则

1、solid设计原则

Single Responsibility Principle(SRP):单一职责原则。

Open Close Principle(OCP):开闭原则。

对扩展开放,对修改关闭

Liskov Substitution Principle(LSP):里氏替换原则。

子类应该可以替换任何基类能够出现的地方,并且经过替换后,代码还能正常工作

Interface Segregation Principle(ISP):接口隔离原则。

Dependency Inversion Principle(DIP):依赖倒置原则。

2、DRY原则

DRY是Don’t Repeat Yourself的缩写,DRY原则特指在程序设计和计算中避免重复代码,因为这样会降低代码的灵活性和简洁性,并且可能导致代码之间的矛盾。

系统的每一个功能都应该有唯一的实现。也就是说,如果多次遇到同样的问题,就应该抽象出一个共同的解决方法,不要重复开发同样的功能。

3、YAGNI

YAGNI是针对“大设计”(Big Design)提出来的,是“极限编程”提倡的原则,是指你自以为有用的功能,实际上都是用不到的。因此,除了核心的功能之外,其他的功能一概不要提前设计,这样可以大大加快开发进程。它背后的指导思想就是尽可能快、尽可能简单地让软件运行起来

4、Rule of Three

 Rule of Three也被称为“三次原则”,是指当某个功能第三次出现时,就有必要进行“抽象化”了

5、kiss(Keep It Simple and Stupid)

真正的简单,不是不思考,而是先发散、再收敛。在纷繁复杂中,把握问题的核心

6、POLA原则 (Principle of least astonishment)

最小惊奇原则,要的是简单易懂

 

五、设计模式

gof的23种设计模式,以及拦截器模式、插件模式和管道模式

 

 六、建模

 

 

七、DDD (domain driven design)

利用面向对象的特性(封装、多态)有效地化解复杂性

通过DDD重构后,虽然类的数量比以前多了一些,但是每个类的职责更加单一,代码的可读性和可扩展性也随之提高

传统主流设计是数据驱动

DDD带来的核心好处:统一语言、面向对象、分离核心业务逻辑和技术细节

DDD的核心概念:领域实体、聚合根、领域服务、领域事件、边界上下文

领域建模方法:

1)用例分析法:寻找概念类、添加关联、添加属性

2)四色建模法:寻找关键业务时刻、寻找周围的人-事-物对象,从人-事-五抽象出角色,把描述信息给对象补足

 

 

 

 

posted @ 2021-11-27 08:22  大米粒汪汪叫  阅读(154)  评论(0编辑  收藏  举报