品Netty源码,学习良好的编程习惯(1)
本篇文章大概600字,阅读时间大约4分钟
本篇文章是对前面Netty服务端初始化过程相关文章的一个重新总结,并修改了一些错误,还是希望用面试题的形式来全面总结Netty的设计思想和使用的细节,本文主要是重点review了Netty的一些较好的编码习惯,以期能在业务编码时,提高代码水平。
当然不全,后续会持续收集。
1、学习规范的命名
比如bind>doBind,即可以将复杂的逻辑抽取封装为一个内部的核心方法叫doXxx;
再进一步封装,可以继续后面加0:
对一些初始化方法,可以命名initAndXxx;或者一个方法具备两种不同的作用,那么可以用and将其的命名连接:
配置的相关类,可以命名为XxxConfig类;
可以借鉴XxxUnsafe这种命名,包括JDK也都是这么用的,即可以将比较“危险”的,太底层的API封装为XxxUnsafe类
总的指导思想:即尽量见名知意,不要怕长,比如ReflectiveChannelFactory类,其含义和要做的事情都是一目了然的;
2、善用重载方法,尽可能减轻上层调用者负担
比如意义相同的参数的不同类型,常见的就是端口号,有String和int两种,优秀的框架以及JDK等都会有对应的重载方法
3、善用Closeable接口关闭资源
比如Netty的一些资源池,就继承了该接口,可以在try(),或者自定义方法里实现资源自动释放的效果
4、合理的设计模式应用,比如职责链模式,pipeline模式,模板方法模式,工厂模式,单例模式,观察者模式等
5、在进入业务代码前,可以先做参数以及必选配置的校验,并封装为方法甚至专用的工具类,进行集中式校验:
END
点亮在看,你最好看
~
点阅读原文,获得更多精彩内容