日期:2014-05-20  浏览次数:20786 次

自学一年半编程,进入误区的问题???
自学了一年半编程,发现自己写程序,从来都是先写,编译出错再改。
真正的高手都是先想,在写。把想的过程用流程图的形式表现出来。
现在遇到问题,用脑无法一次性想出来。
这个问题也是最近通过学习数据结构发现的,也没有介绍编程思路或者流程思维的书,或者改怎么去锻炼思维。
对了 本人自学一年半知识很有限 尤其数学知识和计算机原理和操作系统知识 非常匮乏
学了vf vbs c delphi 汇编 和 用汇编进行windows编程
delphi是工作用的 现在主要用c# 学习设计模式 和 数据结构
希望高手给点拨下

------解决方案--------------------
不知道你有没有用过BASICA,一种使用行号的BASIC语言。使用这种语言,你必须先画流程图,否则当你需要往代码中添加一个分支条件甚至添加几条语句的时候,你不得不重新处理行号以及行号和goto语句的关系。在代码上变动比在流程图上变动的代价高很多。所以要先画流程图。可是在Quick Basic乃至Visual Basic中,添加程序的分支显得非常简单,相比流程图,你还得用橡皮、直尺忙活半天,你为什么要用流程图呢?

在使用C(虽然函数指针已经出现)、Pascal语言的时候,你很少会考虑复用代码流程,而不是代码本身。一个典型的状况是,你编写了一段代码,实现了一个算法逻辑,但是这个算法的某些局部不太一样。你恐怕没有意识能编写出重复使用的单一代码。那么这会导致相同的流程在程序中被重复写了很多次。一旦流程更改,不得不修改每一处。因此绘制UML,做好设计是那么重要。可是如果你能熟练使用委托和Lambda表达式,修改这样的代码,在C#中同样是一件很easy的事情。为什么我们还要先设计呢?