提升架构能力
摘自@Easy
DRY
DRY是Don’t Repeat Yourself的缩写,翻译过来就是「不做重复事」。
这正是⼀个逼近软件本质的原则,它指导我们把经常使⽤的功能抽象成库,把重复出现的代码重构为可重⽤的框架模块。如果你⽤DRY来要求⾃⼰,很快你就会发现⾃⼰抽象和架构能⼒的飙升。
半自动化
但是我们活在现实世界,所以我们不可能把所有的事情都给⾃动化了,有⼈类尤其是⼥⼈参与的活动,往往会毫⽆规律可循。但我们不能放弃,不要⼆元思维,除了⼿动和⾃动,我们还可以半⾃动化——让机器做完所有繁杂的常规操作,⼈类来处理需要智慧的那⼀点点⼯作就好,这也能极⼤的提升⼯作效率。
正交性
正交性的意思是,功能和功能之间应该尽可能不互相干扰。只有这样,我们才能有效的控制每个部分的⾏为。所以功能之间的依赖尽可能少,如果有,规则⼀定要明确,不要试图去做⼀些⾃作聪明的事情。
⽐如JobDeer之前的推送通知是在候选⼈发布时⾃动发的。⼀直⽤着不错,但有⼀天有⼀个候选⼈需要重新发布,但我们不想推送通知,这时候我们就傻眼了。这是因为发布功能和推送功能不是正交的。
后来我们把发布和推送功能分开,在发布成功后,询问是否需要跳转到推送⻚⾯。这样发布⼈才不会影响推送;推送信息也不会依赖发布了。Keep it simple stupid 就是这个意思。
API其实也是强化正交性的利器,它通过接⼝规范确定了互不影响的功能,⼜通过接⼝协议隐藏了后端实现,去除了对实现技术的依赖性。SAE在这点上就受益匪浅。
关注微信公众号,每天都有优质技术文章,搞笑GIF图片推送哦。
2016-8-11
Scott