不懂阿里巴巴的开发手册,但我的理解:
一尽量少使用语义不明的Object、Map、JsonObject作为参数,举例:1.addUser(Object user) 2.addUser(Map user) 3.addUser(JsonObject user) 4.<T> addUser(T user) 5.addUser(User user) ,1-4明显语义不明,面对这样的代码时一脸懵逼,user里面到底有什么东西?5能够从User类里面很清楚的了解User的结构是什么。
二尽量少使用可变(不定)参数?No,反之我建议尽量使用可变(不定)参数替换数组,举例:数组参数addUsers(User[] users)和不定参数addUsers(User ...users),不定参数除了可以传入数组外(与数组参数功能一样),还可以分开传入单个或多个参数
很多规范并不是说不能用,是用了之后会让人很疑惑
如果用的是Object的可变长参数,那么不能确定你传的这些哪个是User还是Map还是List,或者
相同业务含义,我的理解是,如果传入的是几个Product类型,这几个Product实际是子类实现的noodle或者是steel,不属于相同业务,应该分开重载方法,传入各子类型,这样更清晰