如何编程

Tags
code
Created
Jan 17, 2016 11:11 AM

做简单有效的事情

  1. 重构是程序员的主力技能。
  2. 工作日志能提升脑容量。
  3. 先用 profiler 调查,才有脸谈优化。
  4. 漫山遍野的注释实际背景噪音。
  5. 普通程序员 + Google = 超级程序员。
  6. 写单元测试总是合算的。
  7. 不要先写框架再写实现。最好反过来,从原型中提炼框架。
  8. 代码结构清晰,其它问题都不算事儿。
  9. 管理行不行,就看工作流。
  10. 编码不要畏惧变化,要拥抱变化。// 任何地方都适用啊
  11. 常充电。程序员只有一种死法:土死的。
  12. 使用声明式编程,提供 DSL,屏蔽底层结构

优雅的代码:

  • 逻辑应该是清晰的,bug 难以隐藏;
  • 依赖最少,易于维护;
  • 错误处理完全根据一个明确的策略;
  • 性能接近最佳化,避免代码混乱和无原则的优化
  • 整洁的代码只做一件事

可读的代码

  • 逐句翻译成自然语言能看懂
  • 遵循约定
  • 文档和注释 // TODO,FIXME,XXX(待商榷),NOTE,HACK,BUG

可发布的代码

  • 处理异常,单元测试里可以模拟简单的情况
  • 处理并发
  • 优化性能(算法的时间复杂度,单步操作耗时)
  • 日志(包括异常,外部调用等。显示方式已经内容)

可维护的代码

  • 避免重复(模块间、模块内、信息重复无法分辨)
  • 模块划分(模块内高内聚与模块间低耦合)
  • 简洁与抽象,一种思维方式

代码风格包括:

  • 基本格式(缩进、行宽、命名规则等等)
  • 注释格式
  • 语句和表达式
  • 变量、函数、操作符

编程常识:

  • 保证 UI 层的松耦合
  • 控制全局变量
  • 添加事件处理逻辑
  • 参数要明确,不要修改参数
  • 检测数据类型
  • 分离配置数据
  • 抛出自定义错误
  • 尊重对象所有权
  • 进行浏览器检测
SuperMade with Super