1
Quarter 2021-11-26 14:32:17 +08:00 via iPhone
can if able 这些?
|
2
l1203 2021-11-26 14:36:11 +08:00 2
谁定的规则你去问谁啊。楼上告诉你这些,等会又不让用你怎么办?
|
3
dream4ever 2021-11-26 14:38:22 +08:00 6
用 are
|
4
2i2Re2PLMaDnghL 2021-11-26 14:39:24 +08:00
用 property 开头(
|
5
kujio 2021-11-26 14:40:43 +08:00 21
很简单,属性名后面加问号就行,
isVisiable => visiable? isSelected => selected? ... |
6
wangkun025 2021-11-26 14:41:18 +08:00 1
shifou_
|
7
zjsxwc 2021-11-26 14:42:24 +08:00
用 be
|
8
zcljy 2021-11-26 14:43:52 +08:00 2
nengxingbu_add
|
9
newbieRenew 2021-11-26 15:01:15 +08:00 via iPhone
i_visible
|
10
constexpr 2021-11-26 15:02:09 +08:00 via Android
用 was
|
11
chendy 2021-11-26 15:02:31 +08:00
把 is 去掉就完事了呗
|
12
ReysC 2021-11-26 15:02:55 +08:00 2
areYourOk?
看到说 are 的时候,突然想写这个 |
13
7911364440 OP @l1203 is 开头的变量序列化的时候确实会有问题
|
14
zzl22100048 2021-11-26 15:09:18 +08:00 1
为啥要 is 开头? boolean 变量用形容词
|
15
wolfie 2021-11-26 15:16:24 +08:00
实体用 Boolean ,别用 boolean 就没这 d 事。
|
16
earneet 2021-11-26 15:22:07 +08:00
就简单把 is 去掉就行吧
|
17
ElegantOfKing 2021-11-26 15:22:15 +08:00
checkIf
|
18
marffin 2021-11-26 15:23:44 +08:00
用 is 开头明显是布尔变量,用 b 开头就好了
|
19
cpstar 2021-11-26 15:27:36 +08:00
burangIsXXX
|
20
rm0gang0rf 2021-11-26 15:32:20 +08:00
是,不是
|
21
Kimen 2021-11-26 15:37:48 +08:00 1
直接不加 is_deleted ,就是 deleted
|
22
jmjgeminix 2021-11-26 15:39:45 +08:00 3
启用拼音命名法
IsDeleted -> 删除标志 -> scbz |
23
declandragon 2021-11-26 15:41:05 +08:00
cl control 的缩写,万物皆可控制。
|
24
felixcode 2021-11-26 15:44:10 +08:00
toBeOrNotToBe
|
25
dddd1919 2021-11-26 15:45:55 +08:00
匈牙利命名法,bool 值统一 b 开头,b_deleted / bDeleted
|
26
AllanAG 2021-11-26 15:48:12 +08:00
根据语义用过 has/can
|
27
xz410236056 2021-11-26 15:48:27 +08:00
@kujio #5 swift 中属性跟? 有特殊含义
|
28
cnit 2021-11-26 15:57:08 +08:00 1
``` xxx_flag ```
``` xxxFlag``` |
29
jackmod 2021-11-26 15:58:17 +08:00
isCondtion -> conditionIsTrue (别信)
boolean 的 getter 就是 isCondition() |
30
dfkjgklfdjg 2021-11-26 15:58:18 +08:00 1
直接去掉 is 不就可以了么?
|
31
boris93 2021-11-26 15:59:29 +08:00 via iPhone 8
isChanged -> changeLeMei
isVisible -> visibleBu |
32
MonkeyJon 2021-11-26 16:20:53 +08:00
is_deleted(数据库)->deleted(实体)
|
33
murmur 2021-11-26 16:23:41 +08:00 2
isChanged => GaiLeMe?
isVisible => nengKanJianMe? isSelected => xuanZhongLeMe? |
34
wdwwtzy 2021-11-26 16:25:28 +08:00
可以尝试以下 C#,C#允许,还有真属性....
public bool IsXXX {get;set;} |
35
marcong95 2021-11-26 16:29:59 +08:00
iAmABooleanTypedPropertyForIndicatingXXXXXXX
|
36
Kilerd 2021-11-26 16:40:35 +08:00 via iPhone
因为 lombok 对于 boolean 生成的 getter 就是以 is 开头的,所以属性直接用形容词就好了
|
37
5sheep 2021-11-26 16:41:04 +08:00
为啥不让用 is ,能说具体原因么。 你们用的什么语言,哪个序列化库
|
38
wangchonglie 2021-11-26 16:41:47 +08:00
@MonkeyJon #32 请问这个实体应该怎么理解呢
|
39
zhujq 2021-11-26 16:42:10 +08:00
我用 am,你用 are,is 连着他,她,它
|
40
sunjiayao 2021-11-26 16:59:24 +08:00
|
41
lyz1990 2021-11-26 17:03:54 +08:00
为啥不能 is ?
|
42
h82258652 2021-11-26 17:13:32 +08:00
shifouVisible
手动狗头 |
43
PerFectTime 2021-11-26 17:15:46 +08:00
凭什么
|
44
jinhan13789991 2021-11-26 17:15:54 +08:00
换成 if 开头
isVisiable => ifVisiable isSelected => ifSelected |
45
meeop 2021-11-26 17:17:22 +08:00
感觉 are 最万能
不能用 selected 的原因:不是所有布尔变量都是一种状态 /动作,比如 isVip,变量名叫 vip 就很模糊 不能用 has,can 的原因,不是所有布尔都在表达是否拥有 /能否的含义,例子同 isVip 中文含义是否 xxx 最万能 对应到英文就是 isXxx 坑爹的事 java 规范里会自作聪明的把 isxxx 认为是布尔值,生成 getter 方法的时候去掉 is 那只能用 are 了 |
46
jk1030 2021-11-26 17:20:07 +08:00
我一般是用 FLag
|
48
vate32 2021-11-26 17:36:56 +08:00
不明白为什么不让用的老哥可以看下这篇文章: https://www.cnkirito.moe/project-rules-2/
|
49
yuezk 2021-11-26 17:38:10 +08:00
@poorcai #47 个人推荐 #5 ,感觉添加 is 有点冗余。visible 和 selected 本身就有两个状态。类比中文就是:「可见的」和「是可见的」「已选中的」和「是已选中的」,把「是」去掉问题也不影响理解。
|
50
pkoukk 2021-11-26 17:44:57 +08:00 2
一看标题就知道是坑爹的 java 。。
其它哪个语言都没这奇怪的毛病 |
51
maocat 2021-11-26 18:18:13 +08:00 via iPhone
notIs 负负得正
|
52
TomVista 2021-11-26 19:21:52 +08:00
美食供应商
|
54
ttys001 2021-11-26 19:29:36 +08:00
beVisible
beDeleted |
55
galikeoy 2021-11-26 22:56:08 +08:00
@jmjgeminix #22 血压上来了
|
56
JamesR 2021-11-26 23:41:20 +08:00
只有 Java 才有这个问题。
|
57
moqimoqide 2021-11-27 01:23:27 +08:00 via iPhone 2
布尔值命名
给布尔变量赋子隐含“真 /假”含义的名宇 像 done 和 success 这样的名字是很不错的布尔变量名,因为其状态要么是 true ,要么足 false:某件事情完成了或者没有完成:成功或者失败。另一方面,像 status 和 sourceFile 这样的名字却是很糟的布尔变量名,因为它们没有明确的 true 或者 false 。status 是 true 反映的是什么含义?它表明某件事情拥有一个状态吗?每件事都有状态。true 表明某件事情的状态是 OK 吗?或者说 false 表明没有任何错误吗?对于 status 这样的名字,你什么也说不出来。 为了取得更好的效果,应该把 status 替换为类似于 error 或者 statusOK 这样的 名字,同时把 sourceFile 替换为 sourceFileAvailable 、sourceFileFound ,或者其他能 体现该变量所代表含义的名字。 有些程序员喜欢在他们写的布尔变量名前加上 Is 。这样,变量名就变成了 个问题:isdone? isError? isFound? isProcessingComplete ?用 true 或 false 回答问题 也就为该变量给出了取值。这种方法的优点之一是它不能用于那些模糊不清的名 字:isStatus ?这毫无意义。它的缺点之一是降低了简单逻辑表达式的可读性:if (isFound)的可读性要略差于 if(found). 使用肯定的布尔变量名 否定的名字如 notFound 、notdone 以及 notSuccessful 等较难阅读,特别是如果它们被求反:if not notFound, 这样的名字应该替换为 found 、done 或者 processingComplete ,然后再用适当的运算符求反。如果你找到了想找的结果,那么就可以用 found 而不必写双重否定的 not notFound. |
58
lyoe 2021-11-27 03:53:15 +08:00
主要还是因为序列化的原因
|
59
ericgui 2021-11-27 06:34:34 +08:00 via iPhone
@7911364440 为什么?求解。is 就是俩普通字母而已,和 abc 有什么区别么?
|
60
koebehshian 2021-11-27 10:28:37 +08:00
方法名用动词,属性名用名词或形容词
|
61
hewiefsociety 2021-11-27 13:56:20 +08:00
用 sb:)
|
62
opengps 2021-11-27 15:27:49 +08:00 via Android
ItIs
|
63
wanguorui123 2021-11-27 21:32:43 +08:00
can has
|
64
liuxu 2021-11-27 21:44:39 +08:00
谁要求的,让他换行吧
|
66
qbqbqbqb 2021-11-27 23:54:38 +08:00
@ericgui 和 Java 中一些序列化框架的实现有关。
Java 里按照惯例用 getter/setter 方法读写对象属性,字段 xxx 的 getter 和 setter 应当取名为 getXxx()和 setXxx(),如果 xxx 是 boolean 类型的话 getter 应当取名为 isXxx()。 但如果字段名称已经叫 isXxx 了,getter 总不能取名叫 isIsXxx()这种不伦不类的名字吧,于是这种情况 getter 仍然取名为 isXxx()。 然后有些序列化框架是根据 getter 的名字反推字段名,一般情况下字段存到文件里名字都是一致的,但是如果字段名是 isXxx 的话,经过上面一番操作之后存到文件里的字段名就变成不带 is 的 xxx 了,这种不一致会给后续的开发带来麻烦。所以说属性名不能用 is 开头。 解决方法也很简单,直接用形容词就行了,比如 isVisible ,字段名直接叫 visible 即可,一般也不影响可读性。 |
67
7gugu 2021-11-28 00:46:43 +08:00 via iPhone
i_s 属性名
|
68
MonkeyJon 2021-11-29 16:08:32 +08:00 1
@wangchonglie 数据库对应 java 中的操作对象,平时叫实体,model ,pojo ,entity 等
|
69
siweipancc 2021-11-30 11:12:59 +08:00 via iPhone
经常在 jni 代码里看到 bool_active 的写法,不过我倾向于形容词 actived
|
70
evoluc97 2021-12-01 10:49:40 +08:00
@qbqbqbqb 其实如果实体类不用 boolean 类型
直接用 int 的 1 和 0 表示 就可以用 is 字段开头把 |
71
Xinghx 2021-12-01 11:17:59 +08:00
在 is 前面再加个前缀
|
72
qbqbqbqb 2021-12-01 12:00:26 +08:00
@evoluc97 也可以手写 getter 和 setter ,比如如果字段名叫 isXxx ,手写了 getIsXxx 和 setIsXxx 是没有问题的,框架能正确识别(一般的框架都是优先找 get 前缀的 getter ,找不到再找 is 前缀的 getter )。但是这样不符合规范,不好维护。
一般大型项目开发的时候都是 IDE 自动生成符合规范的 getter/setter ,或者用 Lombok 之类的工具,这些工具会自动去掉多余的 is 导致后续容易出问题。 |
73
alo1719 2021-12-01 15:09:06 +08:00
我个人是用 if 代替 is ,例如 ifEffective 。其实最简洁易懂的是在 boolean 值后面加问号,例如 effective? (读作 effective ha?),可惜 Java Bean 里没法这样命名。
|
74
Jtyczc 2021-12-14 14:39:49 +08:00
我认为可以用 state 、flag
deleted_state:[删除状态:0->未删除,1->已删除] enable_state:[开启状态:0->未开启,1->已开启] |