- 正确性 : 如何保证代码是正确的永远是第一位
- 如何测试: 有无现成单元测试框架
- 如何日志: 有无现成日志模块
- 如何处理错误: try-catch-finally, 或者如何模拟
- 性能 : 从用户角度, 高性能, 这是最基本的用户体验, 也是程序不被轻易复制之根本
- 高性能的循环
- 内存变量复用
- 可维护性 : 从开发者角度, 需求会不停的变化, 代码会飞速的膨胀, 写程序就是不断地和"变化"斗争
- 如何避免命名冲突(名字空间)
- 如何重用代码(共享库)
- 编写可重用的代码模块
- 创建可重用的GUI模块
- 如何解耦: 接口, 事件, 回调, functor
- 功能
- 如何与其他语言编写的程序交互
- 如何调用操作系统API
- 如何把自己编成一个组件让其他程序可以调用
- 安全性