和我一起学编程 之 流程 |
程序的流程可以分为3种基本流程:顺序流程,分支流程和循环流程。其它程序流程都可以由这三种基本流程复合而成。顺序流程没什么可说的,分支流程是根据判断条件的结果来执行不同的流程分支,一般语言都有的ifelse,switch等。
需要注意的是switch语句中的case语法,不同的语言有不同的处理方式,很多编程语言中,这种case分支间如果没有break中断,则会一次执行的。循环流程也没什么特别之处。与程序流程密切相关的还有一个递归调用,递归调用都可以使用循环加堆栈的方式来替代。因此可以将递归调用看作是循环流程的一种。对于循环流程需要特别注意的就是死循环问题。 数据类型,注释,程序流程等都是程序的基本元素和结构,一般编程语言都具有这些特性。搞懂了这些,就具有了基本的程序表达能力(编程能力)。再复杂的程序都是由这些基本的元素或者结构复合构成的。 对于Goto语句一般情况下建议不使用,这种语句会破坏程序结构的严谨性。一般程序的结构设计都遵循单一出入口的原则。特别是函数(有的叫过程)的调用返回应该是确定的。A过程调用B过程:A.B,应保证B过程执行完成后回到A.B这个调用处。在系统比较大的时候,这种原则有利于程序逻辑正确性的保证。 👩🥾🩺🙂🖕 在日常工作中,处理事务其实也是流程化的,只是没有程序要求的这么严。我们很多应用程序本质上都是将日常的处理流程转换成计算机软件系统的处理流程,因此在做这种转换(需求分析和程序设计)时需要注意这种差别。学习编程一定要有这种流程化的概念,没事的时候可以进行一些训练,比如将手头上的某件工作流程化。 流程当然还涉及到串行和并行的问题,串行逻辑比较简单,并行需要用到多线程技术。当然在更高的业务层面的并行,需要一些判断来保证并行过程的一致性问题。通过实际工作的流程化来驱动程序的流程化是一个不错的训练方式。不要光用脑袋想,应该动笔写和画。但训练到一定程度时,动笔写就可以减少,因为脑袋想想就已经OK了。 流程化本身也是一种思想方法。👴👚💉😫👂
帖子热度 3.6万 ℃
|
|