天天看点

通过简单原理增强软件可靠性

简单原理,就是字面的意思,系统越简单越好。复杂问题简单化,很难;简单问题复杂化,很容易。

简化问题至少有如下方法:借用、取舍、拆分、分类、分工、模式与学习、规范 。

借用是站在巨人的肩上。“欲穷千里目,更上一层楼”。遇到问题,先不急着动手,先思考、查阅记录,看以前是否遇到相同或接近的问题,直接复用或借鉴。以前,我和500年接到一个流程图的小项目,500年奋战几天没能解决,半年后发现BCG有现成的功能。如果没有可复用或借鉴,查阅团队文档和第三方文档。

取舍。抓住主要矛盾,忽略次要矛盾。常见反例:某程序员鏖战几周,让某个模块性能提升200%,但此模块不是瓶颈模块,所以整个系统的性能没有提升。

拆分。好处有二:部分拆分后的子任务,可以直接借鉴,这将大幅降低成本。二,复杂度大幅降低。忽略模块间的通信,1个500行的模块比5个100行的模块复杂得多。

分工。让每位员工遇到同类问题的几率大幅升高,多次遇到的问题简单得多。