关于package命名。
原则:命名尽可能与做什么事情有关,而非与什么功能有关。
这里讲的话可能大家不方面理解,这里以spring-boot-autoconfigure 以及disruptor两个包的package命名举例。这里大家也看到,这里面的package的命名方式都是说在做某件事,而不是说这个包有哪些功能。
避免在一个包中,拆分出太细的结构,比如,一个redis包里包含了redisFactory,redisPool,redisConnection等,就不需要为其单独写什么factory,pool,connection之类的包。 他们都是为了为redis服务,即可以在一个package下。
而像什么commonsUtils,不是针对某个package独有的util,如一些beanUtils,timeUtils,是可以放在一个类似utils包里,这种描述与抽象,或者通用功能有关的类是可以单独放在一个以功能有关的类里的。
试想,大家写了几年的controller,service包,如果以user、auth、***业务模块命名,你找代码是不是会更轻松一些?
原则:命名尽可能与做什么事情有关,而非与什么功能有关。
这里讲的话可能大家不方面理解,这里以spring-boot-autoconfigure 以及disruptor两个包的package命名举例。这里大家也看到,这里面的package的命名方式都是说在做某件事,而不是说这个包有哪些功能。
避免在一个包中,拆分出太细的结构,比如,一个redis包里包含了redisFactory,redisPool,redisConnection等,就不需要为其单独写什么factory,pool,connection之类的包。 他们都是为了为redis服务,即可以在一个package下。
而像什么commonsUtils,不是针对某个package独有的util,如一些beanUtils,timeUtils,是可以放在一个类似utils包里,这种描述与抽象,或者通用功能有关的类是可以单独放在一个以功能有关的类里的。
试想,大家写了几年的controller,service包,如果以user、auth、***业务模块命名,你找代码是不是会更轻松一些?