变量起名: isBlablabla

2017-02-06 10:40:18 +08:00
 librae

见过有不少同学如是乎给变量起名字:

比如 isRunning, isLogin, isBlabla

元芳怎么看?

5755 次点击
所在节点    编程
34 条回复
librae
2017-02-06 12:07:30 +08:00
@TakWolf 你咋知道,哈哈

主要是感觉有强迫症,看到读起来不顺口的名字会有生理反应,比如汗毛会立起来

🙄
librae
2017-02-06 12:09:42 +08:00
@laoyur 谢指出错误
librae
2017-02-06 12:11:50 +08:00
isRunning 还蛮顺溜的, is 动词就昏厥
expkzb
2017-02-06 12:14:59 +08:00
不仅是 isXXX 吧,还有比如 shouldXXX, hasXXX
librae
2017-02-06 12:59:11 +08:00
@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 的话感觉多余。

总而言之,习惯性使然,主要想了解下除了自己以外,别人是否也关注过这些其实没卵用的点。
librae
2017-02-06 13:00:11 +08:00
回复里不能 markdown ?算鸟不改了
SourceMan
2017-02-06 13:09:29 +08:00
觉得不爽?小组里面你把这个规范强制要求统一起来就得啦!提交错罚 10 块活动经费
librae
2017-02-06 13:20:50 +08:00
@SourceMan 我是被统一的,正打算揭竿起义 🎃
Pastsong
2017-02-06 13:31:23 +08:00
完全不爽 bRunning 这种写法...根本不可读...来, 战个痛
lifesimple
2017-02-06 14:00:02 +08:00
还好吧 bool 类型的话 或者后面加个 state isLoginState
grayon
2017-02-06 14:14:03 +08:00
@property (nonatomic, assign, getter=isEnabled) BOOL enabled;
maplerecall
2017-02-06 14:28:17 +08:00
之前总觉得 isLogin 哪里怪怪的,现在一般用 isLoggedIn ……
rockyou12
2017-02-06 16:52:06 +08:00
isLogin 好像不合语法,但是可以放弃思考啊,取名字很伤神的
mingyun
2017-02-06 23:35:36 +08:00
@loading 这个不错

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/338377

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX