提升架构能力
来源:互联网 发布:淘宝 快排 警察找上门 编辑:程序博客网 时间:2024/04/30 12:55
提升架构能力
摘自@Easy
DRY
DRY是Don’t Repeat Yourself的缩写,翻译过来就是「不做重复事」。
这正是⼀个逼近软件本质的原则,它指导我们把经常使⽤的功能抽象成库,把重复出现的代码重构为可重⽤的框架模块。如果你⽤DRY来要求⾃⼰,很快你就会发现⾃⼰抽象和架构能⼒的飙升。
半自动化
但是我们活在现实世界,所以我们不可能把所有的事情都给⾃动化了,有⼈类尤其是⼥⼈参与的活动,往往会毫⽆规律可循。但我们不能放弃,不要⼆元思维,除了⼿动和⾃动,我们还可以半⾃动化——让机器做完所有繁杂的常规操作,⼈类来处理需要智慧的那⼀点点⼯作就好,这也能极⼤的提升⼯作效率。
正交性
正交性的意思是,功能和功能之间应该尽可能不互相干扰。只有这样,我们才能有效的控制每个部分的⾏为。所以功能之间的依赖尽可能少,如果有,规则⼀定要明确,不要试图去做⼀些⾃作聪明的事情。
⽐如JobDeer之前的推送通知是在候选⼈发布时⾃动发的。⼀直⽤着不错,但有⼀天有⼀个候选⼈需要重新发布,但我们不想推送通知,这时候我们就傻眼了。这是因为发布功能和推送功能不是正交的。
后来我们把发布和推送功能分开,在发布成功后,询问是否需要跳转到推送⻚⾯。这样发布⼈才不会影响推送;推送信息也不会依赖发布了。Keep it simple stupid 就是这个意思。
API其实也是强化正交性的利器,它通过接⼝规范确定了互不影响的功能,⼜通过接⼝协议隐藏了后端实现,去除了对实现技术的依赖性。SAE在这点上就受益匪浅。
关注微信公众号,每天都有优质技术文章,搞笑GIF图片推送哦。
2016-8-11
Scott
0 0
- 提升架构能力
- 架构能力
- 个人能力提升
- 怎么提升能力
- 程序员能力的提升
- 提升阅读能力
- 英语能力的提升:
- 程序员能力提升
- 能力提升瞬时法
- 程序员调试能力提升
- 程序员能力提升三要素
- IT能力提升
- 如何提升编程能力
- 小网站架构优化-提升抗并发能力:子应用程序分离方案
- 小网站架构优化-提升抗并发能力:子应用程序分离方案
- 提升 Linux 开发者的能力
- 如何提升文档编写能力
- 如何提升文档编写能力
- Mathematica数据处理(5)--Plot
- 初学C语言:斐波那契数列(求前n项和)
- iOS——navigationBar色差问题
- 【Leetcode】143. Reorder List - 链表重排序
- 回型矩阵
- 提升架构能力
- IM模块-文本添加表情
- iOS开发 - 键盘的收起
- 最长公共子串
- 实战项目:叶呆天气App之Toolbar和DrawerLayout
- 0/1背包问题
- Mybatis mapper文件中的转义方法
- 1042. Shuffling Machine (20) PAT 甲级
- 试水多线程-互斥锁在单例懒汉式线程安全中的应用