变量起名: isBlablabla - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
librae

变量起名: isBlablabla

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

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

    比如 isRunning, isLogin, isBlabla

    元芳怎么看?

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

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

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

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

    librae
        22
    librae  
    OP
       Feb 6, 2017 via iPhone
    @laoyur 谢指出错误
    librae
        23
    librae  
    OP
       Feb 6, 2017 via iPhone
    isRunning 还蛮顺溜的, is 动词就昏厥
    expkzb
        24
    expkzb  
       Feb 6, 2017
    不仅是 isXXX 吧,还有比如 shouldXXX, hasXXX
    librae
        25
    librae  
    OP
       Feb 6, 2017
    @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
        26
    librae  
    OP
       Feb 6, 2017
    回复里不能 markdown ?算鸟不改了
    SourceMan
        27
    SourceMan  
       Feb 6, 2017
    觉得不爽?小组里面你把这个规范强制要求统一起来就得啦!提交错罚 10 块活动经费
    librae
        28
    librae  
    OP
       Feb 6, 2017
    @SourceMan 我是被统一的,正打算揭竿起义
    Pastsong
        29
    Pastsong  
       Feb 6, 2017
    完全不爽 bRunning 这种写法...根本不可读...来, 战个痛
    lifesimple
        30
    lifesimple  
       Feb 6, 2017
    还好吧 bool 类型的话 或者后面加个 state isLoginState
    grayon
        31
    grayon  
       Feb 6, 2017
    @property (nonatomic, assign, getter=isEnabled) BOOL enabled;
    maplerecall
        32
    maplerecall  
       Feb 6, 2017
    之前总觉得 isLogin 哪里怪怪的,现在一般用 isLoggedIn ……
    rockyou12
        33
    rockyou12  
       Feb 6, 2017
    isLogin 好像不合语法,但是可以放弃思考啊,取名字很伤神的
    mingyun
        34
    mingyun  
       Feb 6, 2017
    @loading 这个不错
    About     Help     Advertise     Blog     API     FAQ     Solana     1091 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 88ms UTC 22:52 PVG 06:52 LAX 15:52 JFK 18:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86