zoukankan      html  css  js  c++  java
  • js 代码命名规范系列

    在微博上看到一个段子

    “老子哪天出任ceo迎娶白富美走上人生巅峰之后,一定要雇两个长腿大熊的妹子。一个帮我想变量名字,一个帮我想git commit的message!”

    可以看出 命名方方面面的问题困扰着我这样的人。哈哈哈

    函数命名、变量命名等 是频繁困扰我的问题。

    函数命名:统一使用动词或者动词+名词形式 ---- fnInit()

    如果有内部函数则“_”开头   _fnInit().

    对象方法命名使用fn+对象类名+动词+名词形式   fnAnimateDoRun() 

    某事件响应函数命名方式为fn+触发事件对象名+事件名或者模块名  fnDivClick()

    常用的动词列表:

    get 获取/set 设置, add 增加/remove 删除
    create 创建/destory 移除 start 启动/stop 停止
    open 打开/close 关闭, read 读取/write 写入
    load 载入/save 保存, create 创建/destroy 销毁
    begin 开始/end 结束, backup 备份/restore 恢复
    import 导入/export 导出, split 分割/merge 合并
    inject 注入/extract 提取, attach 附着/detach 脱离
    bind 绑定/separate 分离, view 查看/browse 浏览
    edit 编辑/modify 修改, select 选取/mark 标记
    copy 复制/paste 粘贴, undo 撤销/redo 重做
    insert 插入/delete 移除, add 加入/append 添加
    clean 清理/clear 清除, index 索引/sort 排序
    find 查找/search 搜索, increase 增加/decrease 减少
    play 播放/pause 暂停, launch 启动/run 运行
    compile 编译/execute 执行, debug 调试/trace 跟踪
    observe 观察/listen 监听, build 构建/publish 发布
    input 输入/output 输出, encode 编码/decode 解码
    encrypt 加密/decrypt 解密, compress 压缩/decompress 解压缩
    pack 打包/unpack 解包, parse 解析/emit 生成
    connect 连接/disconnect 断开, send 发送/receive 接收
    download 下载/upload 上传, refresh 刷新/synchronize 同步
    update 更新/revert 复原, lock 锁定/unlock 解锁
    check out 签出/check in 签入, submit 提交/commit 交付
    push 推/pull 拉, expand 展开/collapse 折叠
    begin 起始/end 结束, start 开始/finish 完成
    enter 进入/exit 退出, abort 放弃/quit 离开
    obsolete 废弃/depreciate 废旧, collect 收集/aggregate 聚集

      

    变量命名:

    一些算是默认的规范就不说了 (常量大写,循环变量简写,驼峰式等)

    对于变量命名 还是没有一个规范,下面贴出一个别人的规范仅供参考。

    按照类型规划:

    s:表示字符串。例如:sName,sHtml;
    n:表示数字。例如:nPage,nTotal;
    b:表示逻辑。例如:bChecked,bHasLogin;
    a:表示数组。例如:aList,aGroup;
    r:表示正则表达式。例如:rDomain,rEmail;
    f:表示函数。例如:fGetHtml,fInit;
    o:表示以上未涉及到的其他对象,例如:oButton,oDate;
    g:表示全局变量,例如:gUserName,gLoginTime;

      

    按照前缀区分 :

    $:表示Jquery对象。例如:$Content,$Module;
    一种比较广泛的Jquery对象变量命名规范。
    j:表示Jquery对象。例如:jContent, jModule;
    另一种Jquery对象变量命名方式。
    fn:表示函数。例如:fnGetName,fnSetAge;
    和上面函数的前缀略有不同,改用fn来代替,个人认为fn能够更好的区分普通变量和函数变量。
    dom:表示Dom对象,例如:domForm,domInput;
    项目中很多地方会用到原生的Dom方法及属性,可以根据团队需要适当修改。

    Now or nerver .
  • 相关阅读:
    状压dp(基础)
    JVM调优实战
    MySql5.6性能优化
    淘淘商城_day09_课堂笔记
    【剑指offer】找出数组中任意一个重复的数字,C++实现
    【剑指offer】字符串转换为数字,C++实现
    【剑指offer】圆圈中最后剩下的数字(约瑟夫问题),C++实现
    【剑指offer】扑克牌的顺子,C++实现
    【剑指offer】n个骰子的点数,C++实现
    android webview 漏洞背后的节操
  • 原文地址:https://www.cnblogs.com/iyueyao/p/3777678.html
Copyright © 2011-2022 走看看