如何从零开始设计系统

一直不满足于只是做一两个模块, 想着自己设计一个完整的系统,最近自己在写一个小玩意儿,有一些经验和思考,故有了以下的内容。

首先想说的是: 这只是些个人体会,并不完善。如果有谁在看的话,希望不要被误导。ok,言归正转。


王道: 多写代码,少些花里狐哨的名堂。

 

基本原则:

考虑到在开始设计一个新的系统时多缺乏足够的领域知识,应采用增量的方法设计。

 

1. 简化环境, 抓住重点, 尽早完成一个简单,但完整的系统。

  不要试图一下子完成所有功能,第一步就是尽量砍掉复杂的背景、功能,让问题简单至你能掌控的程度。必须意识到系统不是一次就完全做好的,不必一开始就要求完美。

 

2. 开始设计。以严谨的思维,让系统足够模块化,骨架足够健壮。

 

3. 单独设计每个模块。按照《编程黄金过程》的步骤,专心把各个模块好好的完成,这里的关键词是少犯错。

 

4. 形成了简单可用的系统后,不断添加血肉、润色,最后形成一个完善的系统,修改较大时,甚至可以丢弃原来的代码,重新开始设计。

 

以下引用了Google院士Jeff Dean说过的话:

1.在设计系统方面,不要想做的很全面,而是需要抓住重点。

 

2.为了增量做设计,但不为无限做设计:比如:要为5-50倍的增量做设计,但超过1000倍了,就需要重写和重新设计了。

 

3.一个接口,多个实现。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章