
见过有不少同学如是乎给变量起名字:
比如 isRunning, isLogin, isBlabla
元芳怎么看?
1 sudoz 2017 年 2 月 6 日 布尔值的变量这么取名不觉得有什么问题 |
2 qiayue PRO 一看就知道是布尔值,而且知道 true 表示什么意思 |
3 laoyur 2017 年 2 月 6 日 你觉得有什么问题,不妨先说出来 另外,是 blah |
4 coderluan 2017 年 2 月 6 日 没毛病,用这个不光是同学水平的。 |
5 letitbesqzr 2017 年 2 月 6 日 没毛病 一直这样 |
6 learnshare 2017 年 2 月 6 日 Login 应该是个动作, isLogin 表示状态就不太合适 |
8 chairuosen 2017 年 2 月 6 日 你想怎么起名 |
9 TakWolf 2017 年 2 月 6 日 猜测楼主的意思估计是,应该起名为 running , 这样 getter 跟 setter 就是: isRunning() setRunning() |
10 ytmsdy 2017 年 2 月 6 日 当年有个同事,写代码的时候。变量都是用 x 来表示的,然后出现了诡异的画面 x = 1 xx = 'hello world' xxx = 2.56 xxxx = True 所以江湖人称’ x 爷‘ |
11 dorentus 2017 年 2 月 6 日 isLoggedIn |
12 viator42 2017 年 2 月 6 日 bool 值自动生成的 get 方法就是 isXxx(),某种意义上说是钦定的命名法 |
13 loading 2017 年 2 月 6 日 via Android 变量名这些,可以参考: https://unbug.github.io/codelf/ |
14 haogefeifei 2017 年 2 月 6 日 少年。。。这是钦定的命名法。。。。 |
15 otakustay 2017 年 2 月 6 日 isLogin => isSignedIn isRunning 也不是很好,不知道 running 的是什么,阶有非常明确的上下文,所以 isXxxProcessRunning 更好 |
17 liuhaotian 2017 年 2 月 6 日 |
18 sethverlo 2017 年 2 月 6 日 ruby 大法好。。可以用 running? login? |
19 akring 2017 年 2 月 6 日 老铁没毛病,双击 666 苹果在 Swift3 里都把原来的 hidden 改成 isHidden 的命名方式了 |
20 techmoe 2017 年 2 月 6 日 via Android 登录用 hasLogin 比较贴切吧 |
23 librae OP isRunning 还蛮顺溜的, is 动词就昏厥 |
24 expkzb 2017 年 2 月 6 日 不仅是 isXXX 吧,还有比如 shouldXXX, hasXXX |
25 librae OP @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 librae OP 回复里不能 markdown ?算鸟不改了 |
27 SourceMan 2017 年 2 月 6 日 觉得不爽?小组里面你把这个规范强制要求统一起来就得啦!提交错罚 10 块活动经费 |
29 Pastsong 2017 年 2 月 6 日 完全不爽 bRunning 这种写法...根本不可读...来, 战个痛 |
30 lifesimple 2017 年 2 月 6 日 还好吧 bool 类型的话 或者后面加个 state isLoginState |
32 maplerecall 2017 年 2 月 6 日 之前总觉得 isLogin 哪里怪怪的,现在一般用 isLoggedIn …… |
33 rockyou12 2017 年 2 月 6 日 isLogin 好像不合语法,但是可以放弃思考啊,取名字很伤神的 |