- “关键的需求”决定整个架构
- 奥卡姆剃刀定律:如无必要,勿增实体
- 软件工程三要素:方法,工具,过程;可以对应东方哲学的“术”,“器”,“道”
- 分析问题三原则:定性,定量,定期
- 对象组合优于对象继承
- 最小作用量原理与哲学:最低能量状态,是最稳定的状态;做最经济的选择
- 真理的单点性原理,SPOT: Single Point Of Truth《UNIX编程艺术》,即一个对象的定义只存在一个唯一,准确,权威的解释。
- 对于体系结构,任何问题都可以通过增加一个间接的中间层来解决,除非问题本身是中间层太多了
- CPU访问存储器遵循局部性原理,具有空间局部性和时间局部性的特点
- 经验不可序列化,编码的优先原则:正确,结构清晰,良好的性能;工程问题是表达的艺术,只有关键几个地方是优化问题(计算高效)
- 功能实现倾向于:自动化,工具化,配置化
- 软件的质量不是测试出来的,而是设计和维护出来的
- 架构模式的最高目标是使代码可测试
- 工程版本,随时可运行,随时可测试
- 帕金森定律可以被克服,通过系统性的需求分析与迭代性的排期规划
- 没有银弹,游戏项目不追求泛通用架构,每一个项目都是唯一且独特的,只满足当前项目最小需求,无限压缩开发维护成本,降低技术债
- 游戏项目工程其实一个非常线性的体验
- 协作时做一个好的传球手
- 平衡是现实,理想是追求
- 管理的本质是风险管控,工程的本质是控制复杂度
- 深度很容易扩展广度,而广度不确定能给深度提供多少的养分,这个广度要看相关性
- 系统总是趋向于混乱与无序,对抗熵增原理,需要不断做功。问渠哪得清如许,为有源头活水来,表达了同样的哲学思想
- 战术的努力不能弥补战略的错误
- 推理的起点:所有的推理都有一个推理的起点,找到这个起点至关重要
- 演化,时间改变了事物本身;“人不能两次走进同一条河流”,是古希腊唯物主义哲学家赫拉克利特的一句名言
- 推论一:问题会随时间点而变化,有时,看似无解或者难度极大的问题,可能随着时间推进,变得容易处理。所以,有时不做决定,也是一种决定
- 推论二:同一段代码, 再次阅读的时候,可以等价于“另一段代码”
- 软件开发是一种脑力劳动,一种知识密集型的工作,就像艺术作品一样,创作过程和成品没有标准答案
About game dev.