见过有不少同学如是乎给变量起名字:
比如 isRunning, isLogin, isBlabla
元芳怎么看?
见过有不少同学如是乎给变量起名字:
比如 isRunning, isLogin, isBlabla
元芳怎么看?
|
sudozFeb 6, 2017
1
布尔值的变量这么取名不觉得有什么问题
|
|
qiayueFeb 6, 2017
2
一看就知道是布尔值,而且知道 true 表示什么意思
|
|
3
你觉得有什么问题,不妨先说出来
另外,是 blah |
|
coderluanFeb 6, 2017
4
没毛病,用这个不光是同学水平的。
|
|
letitbesqzrFeb 6, 2017
5
没毛病 一直这样
|
|
learnshareFeb 6, 2017
6
Login 应该是个动作, isLogin 表示状态就不太合适
|
|
basefasFeb 6, 2017
7
语义明确,通俗易懂,大家统一标准就好,不要什么都上纲上线
|
|
chairuosenFeb 6, 2017
8
你想怎么起名
|
|
TakWolfFeb 6, 2017
9
猜测楼主的意思估计是,应该起名为 running , 这样 getter 跟 setter 就是: isRunning() setRunning()
|
|
ytmsdyFeb 6, 2017
10
当年有个同事,写代码的时候。变量都是用 x 来表示的,然后出现了诡异的画面
x = 1 xx = 'hello world' xxx = 2.56 xxxx = True 所以江湖人称’ x 爷‘ |
|
dorentusFeb 6, 2017
11
isLoggedIn
|
|
viator42Feb 6, 2017
12
bool 值自动生成的 get 方法就是 isXxx(),某种意义上说是钦定的命名法
|
|
13
变量名这些,可以参考:
https://unbug.github.io/codelf/ |
|
haogefeifeiFeb 6, 2017
14
少年。。。这是钦定的命名法。。。。
|
|
15
isLogin => isSignedIn
isRunning 也不是很好,不知道 running 的是什么,阶有非常明确的上下文,所以 isXxxProcessRunning 更好 |
|
17
|
|
sethverloFeb 6, 2017
18
ruby 大法好。。可以用 running? login?
|
|
akringFeb 6, 2017
19
老铁没毛病,双击 666
苹果在 Swift3 里都把原来的 hidden 改成 isHidden 的命名方式了 |
|
techmoeFeb 6, 2017 via Android
20
登录用 hasLogin 比较贴切吧
|
|
23
isRunning 还蛮顺溜的, is 动词就昏厥
|
|
expkzbFeb 6, 2017
24
不仅是 isXXX 吧,还有比如 shouldXXX, hasXXX
|
|
25
@sudoz
@qiayue 确实可以理解为一种“标记”用来标识 **boolean** 实在需要的时候我一般是用 bRunning , js 里用驼峰, c 里不喜欢,所以就 b_running 或者就直接 running 了。 @coderluan 其实我也是工作中才注意到的,以前当同学的时候编译通过就万事大吉了 @ytmsdy 天下之大,哈哈哈... @loading 感谢分享 @letitbesqzr @learnshare @basefas @chairuosen 可能是因为以前在 linux kernel 里面转悠多了,再加上自己写习惯了,所以就有了条件反射的生理反应。 举个栗子,譬如: http://lxr.free-electrons.com/source/include/linux/sched.h#L1465 ``` 1456 /* Track pages that require TLB flushes */ 1457 struct tlbflush_unmap_batch { 1458 /* 1459 * Each bit set is a CPU that potentially has a TLB entry for one of 1460 * the PFNs being flushed. See set_tlb_ubc_flush_pending(). 1461 */ 1462 struct cpumask cpumask; 1463 1464 /* True if any bit in cpumask is set */ 1465 bool flush_required; 1466 1467 /* 1468 * If true then the PTE was dirty when unmapped. The entry must be 1469 * flushed before IO is initiated or a stale TLB entry potentially 1470 * allows an update without redirtying the page. 1471 */ 1472 bool writable; 1473 }; ``` 这里有两个 **bool** `bool flush_required;` `bool writable;` 为什么前面不带 be 动词呢? 因为 `flush_required` 和 `writable` 本身就已经能表达是非两种状态了,带 be 的话感觉多余。 总而言之,习惯性使然,主要想了解下除了自己以外,别人是否也关注过这些其实没卵用的点。 |
|
26
回复里不能 markdown ?算鸟不改了
|
|
SourceManFeb 6, 2017
27
觉得不爽?小组里面你把这个规范强制要求统一起来就得啦!提交错罚 10 块活动经费
|
|
PastsongFeb 6, 2017
29
完全不爽 bRunning 这种写法...根本不可读...来, 战个痛
|
|
lifesimpleFeb 6, 2017
30
还好吧 bool 类型的话 或者后面加个 state isLoginState
|
|
maplerecallFeb 6, 2017
32
之前总觉得 isLogin 哪里怪怪的,现在一般用 isLoggedIn ……
|
|
rockyou12Feb 6, 2017
33
isLogin 好像不合语法,但是可以放弃思考啊,取名字很伤神的
|