只是举个例子:
1.有一个旧的 getUsers(...) 方法;
2. 如果参数表是一样的
我不想删了这个旧的方法。
如何命名呢?我在想加一个日期后缀(getUsers_0320 )会不会给人打。
1.有一个旧的 getUsers(...) 方法;
2. 如果参数表是一样的
我不想删了这个旧的方法。
如何命名呢?我在想加一个日期后缀(getUsers_0320 )会不会给人打。
|
U7Q5tLAex2FI0o0gMar 20, 2020
1
注释掉旧的方法
|
|
2
getUsérs(...)
|
|
ipwxMar 20, 2020
3
如果参数表一样,返回类型一样嘛?如果返回类型也一样,你提供两个方法干嘛?
如果返回类型不一样,改名字啊。我就不行你两个类型名字都一样,用新的返回类型名构造方法名称不就行了。 |
|
ayase252Mar 20, 2020 via iPhone
4
为什么会同样命名,同名在我的思维里就是两个函数做了完全相同的工作
|
|
littlewingMar 20, 2020
5
getUsersV2
|
|
also24Mar 20, 2020
6
按道理来说,这是代码版本管理需要处理的事情,你只需要在 commit message 里写清楚对旧方法做了什么处理。
实际中,如果很希望留下旧方法的尸体,建议直接注释掉,而不是简单的改名。 这样可以明确的传达出本方法已经『废弃』,避免再生枝节。 当然你也可以使用 @Deprecated 注解进行标注,但是…… 不是每个人都会去看 warn |
|
also24Mar 20, 2020
7
似乎不小心 @ 到了人…… 非常抱歉……
|
|
catinsidesMar 20, 2020
8
plus pro ...
|
|
9
新的方法还叫 getUsers()
旧的方法移到 deprecated namespace 里去。 |
|
fihserman123Mar 20, 2020
10
要不你试试适配器模式
|
|
xujinkaiMar 20, 2020
11
deprecated +1
|
|
noobsheldonMar 20, 2020
12
获取用户()
|
|
learningmanMar 20, 2020 via Android
13
加一个默认参数,不调用这个参数的时候执行旧方法,调用这个参数的时候执行新方法。
|
|
14
西班牙风情: obtenerUsuarios(), 法兰西味道:
ObtenirDesUtilisateurs, 伏特加: получить пользователей() /doge |
|
NimrodMar 20, 2020 via Android
15
getUserV2?
|
|
16
getUsersGracefully()
|
|
ragnaroksMar 20, 2020
17
就方法 private,新同名方法进行判断,如果参数符合老方法的使用条件,就 return 老方法,否则使用新方法
|
|
BronyaMar 20, 2020 via Android
18
Ex, Plus, Pro, One, Odyssey, ...😏
|
|
19
方法名和参数表都一样的情况下,而且不打算重构。那么可以方法名加个 V2 后缀,当然这绝对不是最优的解决办法,但是比添加时间后缀要好。
更加强烈的建议是,为你新的方法取一个更加有意义且自解释的名字。 |
|
20
|
|
forgottencoastMar 20, 2020
21
getUser2
|
|
yousabukMar 20, 2020
22
getUser2
|
|
lonewolfakelaMar 20, 2020
23
其实可以按微软风在新函数名字后面加个 Ex……
|
|
ericguiMar 21, 2020
24
getUsers2()
|
|
xinghengMar 21, 2020
25
#21 #22 如果我看到加 2 这种做法一定往死里打
#23 加 Ex 一般是定义两个相同功能但参数列表不同的成对方法 如果是功能和之前的 getUsers 基本相同,参数列表也相同,建议不要写一个新方法出来,直接在原来的实现上改写。 如果功能不相同,建议不要加任何“通用型”等无意义的后缀,直接 getXXXUsers 之类的,以示区分。 |
|
longjiahuiMar 21, 2020
26
|
|
coderEOSMar 21, 2020 via Android
27
脚本语言的话可以 getXXX = getUsers,引用 function
|
|
chen1164162915Mar 21, 2020
28
getUsersV1
getUsersV2 getUsersV3 |
|
retanojMar 21, 2020 via iPhone
29
我见过好多 v2 的。。。
|