软件的简单是可靠性的前提,思考简化成为一种习惯,创新要有整洁的环境。
乏味是一种美德:
• 态度:乏味是非常正常,不要意外
• 复杂性:区分必要性和意外复杂性,避免意外复杂性
绝对不放弃我的代码:
• 冗余的代码要及时清理
• 避免代码膨胀,增加检测,设置“负代码行”作为指标
最小API:
• API的方法和参数越少,越容易理解。
• 少就是多,简单的API时对一个问题深刻理解的标志
模块化:
• 松耦合,高内聚是一种简化模式
• API的版本化
发布的简单化:
• 简单流程比复杂流程更好
• 小批量发布,比规模发布更好
• 规模的灵活性:最小API、模块化→SOA
• 个体的灵活性:
a) 乏味是美德,不要意外
b) 要舍弃一些代码,少就是多
c)发布简单化,机器学习的梯度下降法
Q1:什么是Cherry-pick?
Cherry-pick是指代码、依赖包、编译工具,三者纳入到配置项去做配置管理,用Piper放在里面统一的管理。如果是12月份有部署,那到时的编译环境、编译包就是依赖文件需要考虑这个月是否有些新的功能或数据库做了一些升级,我可以通过Piper里面找到那个时刻所有的全量信息,执行编译和部署的结果都是一样的,摘樱桃方式。