写代码前先要理好思路,接着再写代码也不迟,绝大部分人往往都会急于写代码,这应该是个错误的做法
2009-11-23 22:13 通用C#系统架构 阅读(4546) 评论(63) 编辑 收藏 举报
有时候也会想想这些年到底有哪些进步,总结下来也有些惭愧,往往原地踏步的比较多、奸奸杀杀后又往往是接着杀杀奸奸了,很难有本质的飞跃,明显提高的方面很少,实质的编码水平也并没有非常明显的提高,只是有些理念上的追求更多了一些,日常侧重的方向也有些不一样,例如,现在更加重视质量、规范、设计、管理,产品化、思路严谨、定位准确等等。
以前写程序,就一个字“见效快”,你要什么功能,只要跟我讲好功能,几个小时就写好,运行也正常,但是代码凌乱一些,可维护性差一些,什么扩展性什么的就更别提了,规范性什么的脑子里也没概念,就知道把功能实现得又快、又好、又高效,与别人比性能上的优势比较多一些,什么代码复用什么的也基本上没什么好提的,在这样的情况下,往往做一个东西,丢一个东西,来一个需求做一个,几年下来,手上没一个可以卖钱的东西,只能说:“你要啥,需求提好,我就能做什么”,接着年纪大了,精力也没那么旺盛了,导致手上啥也没有积累下,啥也干不了,只能跟着大家一起做做这个做做那个,也渐渐的丧失干劲、冲劲,最后觉得做什么都不容易,什么都做不出来了,看了软件就想吐了,一天也干不了多少活儿,杂事也多,很容易消磨一天了,分心的地方也多,关注的事情也多。
我也能感觉到,自己在往这个方向走,但是会经常会提醒自己,给自己鼓劲、要振作,要有追求、有目标,偶尔也会颓废一段时间,天天看电影、天天打游戏,但是没几天后就会又开始振奋起来,我要住“别野”、我要买“牛车”,总觉得应该搞点儿啥出来才是,做点儿啥才可以。
=====================================================================
现在还当了一个小小的芝麻官、平时还要跟客户沟通交流、家里的杂七杂八的事情也不少、网上的生意也折腾几下,经常又开个会议协调这个那个,看看个这个文章,看看个那个技术,很容易精力分散到很多地方,思路也容易凌乱,心也不好静下来,这时比较难象20岁刚出头时那样安静的、集中精力去写程序,现在写程序的方式方法也与曾经有大不同。
基本做法是,人变懒了,但是思路比以前更严谨了,那就偷懒归偷懒,还是先把思路理一理,例如某个页面到底需要处理那些功能点,应该如何入手把一个页面处理好,问题的关键点都在哪里?应该按什么顺序把这个程序写好?
例如,会把思路整理好,都写下来,如下图片中一样,应该分12个步骤把这个程序页面写好,这样整个工作,被划分了12个小阶段,每个小片段做起来,都不是很难,也不会很耗费时间,这样中间有事打断了思路,回过来看几下就明白,应该接着写哪个环节,处理哪个部分了,就不容易被彻底打断,又重新整理重新分析上耗费时间了,年纪大了,记忆力也会衰退,很容易忘记刚才想什么了,而且有一个工作一天没做好,第二天还可以继续写下来,甚至别人接手了你写一半的程序,也好接上思路。
人与人的能力往往体现在思路上,牛人可以把复杂的问题分解成若干个简单的问题来处理,牛人可以把一个庞大的项目分解成若干个子系统,又把复杂的子系统分解成若干的简单的模块,所以,对一个复杂的问题的分解能力是写程序的核心能力之一,人与人的思维也有些不一样,往往是体现在一个问题的分解过程及分解方法等方面的差异体现出来。
这12个功能完成后的运行效果如下:虽然工作效率、工作时间没年轻人那么高,但是靠思路严谨、质量高,
编码精密一些,有很大的优势,普通的程序员的平均产值还是没有后者高,因为修改bug,测试等环节上,会节省很多时间,而且重复利用率也很高,往往都是在重复利用性能稳定的函数代码,质量比较高一些。
没有什么高超的编码技术,也没什么惊人的好思想,只有一些实实在在的积累,希望能分享给广大网友,能对大家的日常工作派上一些用处,有时候会把思路写在纸上,现在更多的是写在程序里,这样宝贵的分析过程就不会被丢失了,跟代码在一起保管好了,很可能若干年后,有需要的人还能看到,他应该会佩服这个写程序的思路严谨、做事认真的态度。