如何编程
重构是程序员的主力技能。
工作日志能提升脑容量。
先用 profiler 调查,才有脸谈优化。
漫山遍野的注释实际背景噪音。
普通程序员 + Google = 超级程序员。
写单元测试总是合算的。
不要先写框架再写实现。最好反过来,从原型中提炼框架。
代码结构清晰,其它问题都不算事儿。
管理行不行,就看工作流。
编码不要畏惧变化,要拥抱变化。// 任何地方都适用啊
常充电。程序员只有一种死法:土死的。
使用声明式编程,提供 DSL,屏蔽底层结构
优雅的代码:
- 逻辑应该是清晰的,bug 难以隐藏;
- 依赖最少,易于维护;
- 错误处理完全根据一个明确的策略;
- 性能接近最佳化,避免代码混乱和无原则的优化;
- 整洁的代码只做一件事。
可读的代码
- 逐句翻译成自然语言能看懂
- 遵循约定
- 文档和注释 // TODO,FIXME,XXX(待商榷),NOTE,HACK,BUG
可发布的代码
- 处理异常,单元测试里可以模拟简单的情况
- 处理并发
- 优化性能(算法的时间复杂度,单步操作耗时)
- 日志(包括异常,外部调用等。显示方式已经内容)
可维护的代码
- 避免重复(模块间、模块内、信息重复无法分辨)
- 模块划分(模块内高内聚与模块间低耦合)
- 简洁与抽象,一种思维方式
代码风格包括:
- 基本格式(缩进、行宽、命名规则等等)
- 注释格式
- 语句和表达式
- 变量、函数、操作符
编程常识:
- 保证 UI 层的松耦合
- 控制全局变量
- 添加事件处理逻辑
- 参数要明确,不要修改参数
- 检测数据类型
- 分离配置数据
- 抛出自定义错误
- 尊重对象所有权
- 进行浏览器检测