librae
V2EX  ›  编程

变量起名: isBlablabla

  •  
  •   librae · Feb 6, 2017 · 7130 views
    This topic created in 3564 days ago, the information mentioned may be changed or developed.

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

    比如 isRunning, isLogin, isBlabla

    元芳怎么看?

    34 replies  •  2017-02-06 23:35:36 +08:00
    sudoz
    sudoz
    Feb 6, 2017
    1
    布尔值的变量这么取名不觉得有什么问题
    qiayue
    qiayue
    Feb 6, 2017
    2
    一看就知道是布尔值,而且知道 true 表示什么意思
    laoyur
    laoyur
    Feb 6, 2017❤️2
    3
    你觉得有什么问题,不妨先说出来
    另外,是 blah
    coderluan
    coderluan
    Feb 6, 2017
    4
    没毛病,用这个不光是同学水平的。
    letitbesqzr
    letitbesqzr
    Feb 6, 2017
    5
    没毛病 一直这样
    learnshare
    learnshare
    Feb 6, 2017
    6
    Login 应该是个动作, isLogin 表示状态就不太合适
    basefas
    basefas
    Feb 6, 2017
    7
    语义明确,通俗易懂,大家统一标准就好,不要什么都上纲上线
    chairuosen
    chairuosen
    Feb 6, 2017
    8
    你想怎么起名
    TakWolf
    TakWolf
    Feb 6, 2017
    9
    猜测楼主的意思估计是,应该起名为 running , 这样 getter 跟 setter 就是: isRunning() setRunning()
    ytmsdy
    ytmsdy
    Feb 6, 2017
    10
    当年有个同事,写代码的时候。变量都是用 x 来表示的,然后出现了诡异的画面
    x = 1
    xx = 'hello world'
    xxx = 2.56
    xxxx = True

    所以江湖人称’ x 爷‘
    dorentus
    dorentus
    Feb 6, 2017
    11
    isLoggedIn
    viator42
    viator42
    Feb 6, 2017
    12
    bool 值自动生成的 get 方法就是 isXxx(),某种意义上说是钦定的命名法
    loading
    loading
    Feb 6, 2017 via Android❤️5
    13
    变量名这些,可以参考:
    https://unbug.github.io/codelf/
    haogefeifei
    haogefeifei
    Feb 6, 2017
    14
    少年。。。这是钦定的命名法。。。。
    otakustay
    otakustay
    Feb 6, 2017❤️1
    15
    isLogin => isSignedIn
    isRunning 也不是很好,不知道 running 的是什么,阶有非常明确的上下文,所以 isXxxProcessRunning 更好
    barbery
    barbery
    Feb 6, 2017
    16
    @loading 居然支持中文搜,有点意思,哈哈哈
    sethverlo
    sethverlo
    Feb 6, 2017
    18
    ruby 大法好。。可以用 running? login?
    akring
    akring
    Feb 6, 2017
    19
    老铁没毛病,双击 666

    苹果在 Swift3 里都把原来的 hidden 改成 isHidden 的命名方式了
    techmoe
    techmoe
    Feb 6, 2017 via Android
    20
    登录用 hasLogin 比较贴切吧
    librae
    librae
    OP
    Feb 6, 2017 via iPhone
    21
    @TakWolf 你咋知道,哈哈

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

    🙄
    librae
    librae
    OP
    Feb 6, 2017 via iPhone
    22
    @laoyur 谢指出错误
    librae
    librae
    OP
    Feb 6, 2017 via iPhone
    23
    isRunning 还蛮顺溜的, is 动词就昏厥
    expkzb
    expkzb
    Feb 6, 2017
    24
    不仅是 isXXX 吧,还有比如 shouldXXX, hasXXX
    librae
    librae
    OP
    Feb 6, 2017
    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 的话感觉多余。

    总而言之,习惯性使然,主要想了解下除了自己以外,别人是否也关注过这些其实没卵用的点。
    librae
    librae
    OP
    Feb 6, 2017
    26
    回复里不能 markdown ?算鸟不改了
    SourceMan
    SourceMan
    Feb 6, 2017
    27
    觉得不爽?小组里面你把这个规范强制要求统一起来就得啦!提交错罚 10 块活动经费
    librae
    librae
    OP
    Feb 6, 2017
    28
    @SourceMan 我是被统一的,正打算揭竿起义 🎃
    Pastsong
    Pastsong
    Feb 6, 2017
    29
    完全不爽 bRunning 这种写法...根本不可读...来, 战个痛
    lifesimple
    lifesimple
    Feb 6, 2017
    30
    还好吧 bool 类型的话 或者后面加个 state isLoginState
    grayon
    grayon
    Feb 6, 2017
    31
    @property (nonatomic, assign, getter=isEnabled) BOOL enabled;
    maplerecall
    maplerecall
    Feb 6, 2017
    32
    之前总觉得 isLogin 哪里怪怪的,现在一般用 isLoggedIn ……
    rockyou12
    rockyou12
    Feb 6, 2017
    33
    isLogin 好像不合语法,但是可以放弃思考啊,取名字很伤神的
    mingyun
    mingyun
    Feb 6, 2017
    34
    @loading 这个不错
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1021 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 22:48 · PVG 06:48 · LAX 14:48 · JFK 17:48
    ♥ Do have faith in what you're doing.