以前写代码不会去找个软件画画设计,或者找张纸画个草图,总是大脑把整个逻辑想通了,然后即开始写代码, 边写边分析,修修改改,终于写完了一个小的程序,过了一两天在看,虽然整个的框架还能记得住,但是具体的逻辑关系总需要花一段时间才能理清楚, 写程序的整个过程中,开始代码数量增长很快,但是后面修改代码,重构代码则变成非常痛苦的一件事情,只有代码,所以修改的时候你看到的就是代码,很容易陷入到局部细节中,思考可以上升到类的层次,甚至是模块层,但是这很难,而且要花费很大的精力。
没有清楚的设计写代码总感觉像是游击队,或者是野路子。
最近在写一个项目,做一个软件,开始的两个月,直接上手写代码,结果两个月一直在抠一些细节,觉得这个地方过不去,就没办法往下走。逐渐感觉觉得这样写代码即使你是技术达人,但是永远成不了正规军。
我开始尝试使用UML 来进行项目的设计,从总体设计,到类的详细设计, 序列图分析一个事件, 感觉就像在写程序,很清晰,仿佛程序就在眼前,层次的切换非常快,从局部到整体,从整体到局部, 修改一个地方,非常快, 一个个的事件分析很容易就率顺了类之间的逻辑关系。非常清晰。
我跟我朋友说了一句话:“如果我没有uml 图,我最多也就是熟练地操纵十个左右的类,但是利用UML ,我可以操纵非常多的类,现在还没有看到上限,因为我的工程还没有超过五十个类"。