博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
“简单没那么容易做到”
阅读量:5805 次
发布时间:2019-06-18

本文共 788 字,大约阅读时间需要 2 分钟。

  hot3.png

很棒的一个访谈,非常喜欢这种10年20年的一直在第一线实践的hardcore专家的经验的总结。

 

文中很多东西我们都听过了,但是仍旧很值得记录笔记,听过的东西和已经变成习惯或者说自身一部分的东西还是两码事。

就像前几天看过的一个创业哥的postmortem,他总结的东西他自己也说在创业之前都知道了,但是还是一个个错误犯过来,直到公司挂了。

听过的东西和自己的东西是两码事。

 

“构建可运行的最简系统,然后毫不留情地重构”----这个原则非常非常棒,也是最近自己在写东西时候越发强烈的感觉。

当然这个里面省略了一些东西,我认为应该是这样:

  • 在比较高的粒度上,对系统的架构一定要做好
  • 在实现过程中一些正确的基本原则一定要遵循----松耦合结构好于进耦合等等
  • 在代码实现层面遵循最简原则,也即是这个:“构建可运行的最简系统,然后毫不留情地重构”

原因也很直白,在大局定了之后,细节上的实现方式重要程度下降,但是细节的工作量和思维负担确实高的恐怖。

在细节的层面上去发散的设计是不明智的选择,这个时候需要去收敛,也就是“构建可运行的最简系统”。

构建之后可以说是得出了一个细节的最小集,目标锁定,因为实现过了大脑也对此更加熟悉,再来一轮重构,可以说是把问题在速度和质量上比较完美的解决了。

 

这里“粒度”是一个没有定义的东西,只能靠程序员自己的基本功去把握的火候了。

 

很多书讲了很多,都在试图避免重写代码,其实代码重写根本就不是一个什么费劲的事情,没有必要那么忌惮。

之前看得一个统计是%5的代码会出现在最后产品中,%95是被干掉的,自己实践的结果也差不多,没法在细节层面上把一个大的系统设计出来,必然是大量的代码去慢慢打磨。

 

被干掉的代码其实也就是探索过程,写代码其实也是设计的一个过程。

 

原文链接:

转载于:https://my.oschina.net/dtec/blog/44864

你可能感兴趣的文章
linux用户家目录无损迁移到独立硬盘
查看>>
文件查找
查看>>
shell编程前言(一)
查看>>
5、centos7.*配置yum的EPEL源及其它源
查看>>
JSON前后台简单操作
查看>>
shell中一些常见的文件操作符
查看>>
CentOS 7 装vim遇到的问题和解决方法
查看>>
JavaScript基础教程1-20160612
查看>>
使用第三方类、库需要注意的正则类RegexKitLite的使用
查看>>
iOS \U7ea2 乱码 转换
查看>>
FCN图像分割
查看>>
ios xmpp demo
查看>>
设计模式之-工厂模式、构造函数模式
查看>>
python matplotlib 中文显示参数设置
查看>>
数据库事务隔离级别
查看>>
os模块大全详情
查看>>
【ros】Create a ROS package:package dependencies报错
查看>>
从内积的观点来看线性方程组
查看>>
kali linux 更新问题
查看>>
HDU1576 A/B【扩展欧几里得算法】
查看>>