Skip to content

Latest commit

 

History

History
61 lines (52 loc) · 1.99 KB

Project-Coding-Guide.md

File metadata and controls

61 lines (52 loc) · 1.99 KB
title date tags
Project & Coding Guide
2016-03-02 16:33:51 -0800
Coding

程序是给人读的,只是偶尔让计算机执行一下

  • 团队统一编程风格
    • 基本的代码格式化
    • 函数/变量/文件/常量等的命名规范
      • 小驼峰式命名法(首字母小写)命名函数/变量
      • 大驼峰式命名法(全大写)命名文件
      • 全大写+单词之间下划线连接(MAX_COUNT)命名常量
    • 适时空行/换行
    • 合理使用注释
      • 如果代码具有一些特殊含义,且无法直接从代码中看出来,此时有必要添加注释
      • 可以在函数前添加注释,对函数参数的作用进行说明

  • 代码设计
    • 不要有超大函数或者超大类
      • 函数拆分,各个函数独立负责自己本身的职能
      • 考虑重用
    • 避免逻辑重复
      • 同样的信息应该只在一处出现,不然会给以后的维护带来无穷无尽的烦恼
    • 避免if/else嵌套过深
    • 配置数据分离

  • 破窗理论
    • 破窗:低劣的设计、错误的决策或者糟糕的代码
    • 不要留着“破窗户”不修。发现一个就修一个
    • 如果没有足够的时间进行适当的修理,就先把它保留起来
      • 可以把出问题的代码放到注释中
      • 显示“未实现”(#TODO)消息
      • 用虚拟数据加以替代

  • 沉默即赞同
    • review代码,找不足找bug
    • 及时提出意见
    • 无情测试

  • 代码编写优化
    • 松耦合
      • 抽离类似UI层,作为模板
      • JavaScript模板引擎,例如handlebars.js
      • 函数职能分离,各自独立,必要时引用
    • 高内聚
      • use let instead of var
      • 避免对全局变量的依赖
    • 隔离应用逻辑
      • 应用逻辑是和应用功能相关的功能性代码,而不是和用户行为相关的
      • 交互->触发交互函数->触发应用逻辑函数
    • 不要分发事件对象
      • 在函数向下传递的过程中,方法调用的接口参数应该逐渐精确化,传入明确要使用的参数,没有多余参数