从一个C程序学“逐步求精”的分析方法

本文反思了大学编程教育中存在的问题,作者认为教授多种编程语言是一种资源浪费,并提出了改进意见。同时,文章分享了作者通过自学进一步理解面向过程编程及“逐步求精”设计方法的经历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大学最后一年了,C、C++、VB、VB.NET、Java、C#等等几乎什么语言都被老师教过一遍了,但是在学校里面什么语言老师都不会给你讲的很深。这些语言虽然都是学校设置的课程,但上了这么多年大学了,我觉得老师讲的这些语言基本上都是大同小异。老师讲每一种语言都是讲它的数据类型、三种控制语句(顺序、分支和循环)、函数;像面向对象的语言中还会给你讲讲类、对象、继承、多态。其实我倒是觉得大学开两门编程语言课就够了,一门是面向过程的C语言,一门是面向对象的Java或者C#。将那么多语言真的是浪费时间,倒不如用这些时间深入的讲一讲这些语言,比如C语言的各种类库以及图形编程、面向对象开发中的设计模式等等。

最近在看《The Art and Sience of C》的中文版,我都已经是大学即将毕业的学生了,真是觉得有些晚。不过现在开始加倍努力,一个月看完这本书,好好研究一下面向过程编程语言的真谛。之所以这样做是因为我个人认为,在面向OOD的类方法设计中许多还会用到面向过程的设计方法,还有许多抽象方法都来源于面向过程的设计思想,因此面向过程的设计方法是面向对象设计方法的基础,只有扎扎实实的牢固这个基础我才能更好的编写出高性能的C#代码。

废话少说,切入正题。用了一周的时间,我已经看到了第5章“函数”,这其中有一个重点是掌握“逐步求精”的设计方法。原来在《How to Program C》中文版中也曾学习过这一方法,大学的时候老师也将了,但是那个时候都是用文字描述的方法来实现“自顶而下,逐步求精”的,但我那个时候怎么也无法掌握着一个方法。在学校里,每一次上实训课我就特别讨厌画数据流图(要从顶层画到一层),因为我无法掌握“逐步求精”的设计思想,因此我从不认为自己画的数据流图是正确的。然而,《The Art and Sience of C》书中却不是使用文字描述来实现“逐步求精”的分析的,书中巧妙的使用一个打印日历的程序讲述了如何实现“逐步求精”的方法。

 

 

首先,编写main主函数,从整体的角度出发,不考虑细节。在编写主函数的时候可能会想到编写一些自定义函数来实现程序,但是不要考虑这些函数是如何实现的,只需要将这些函数声明并在主函数中直接调用即可。待主函数编写完成,程序的整体就设计完成了。 第二,从细节考虑,实现自定义函数。编写自定义函数的时候就如同编写主函数一样,如果在自定义函数中还要使用某些自定义函数直接调用并声明,然后编写完自定义函数后再定义函数即可。通过这个打印日历的程序,我领悟了“逐步求精”的思想。这就如果一个树一样,不是二叉树,是多叉树。 

先从整体的角度考虑如何实现程序,不考虑细节;然后依次从“树根”滋生出细节;最后形成一个茂盛的“树”,从而实现整个程序。

这一思想使我领悟了很多,我想以后构架实训中的系统时,写文档时都可以采用这一思想了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值