程序规划方法漫谈_连载_ 作者程序匠人.pdfVIP

程序规划方法漫谈_连载_ 作者程序匠人.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
技术支持: 程序规划方法漫谈 程序匠人原创 wang1j in 收藏 推荐网站:www.wang 1j 术支持:www.wang 1j /bbs 一、前言 “程序设计”的真谛是什么?许多初学者的理解是“写代码”。但是,在匠人看来, 把 “程序设计”理解为 “写代码”,就像把 “电路设计”理解为 “画PCB ”一样。 新手们 苦恼的问题是,他们只会 “写代码”。他们一接到新的项目,总是在第一时间就爬到键盘上 去敲代码。新手们的精力总是比较旺盛,他们加班加点,两天就把所 代码敲完。然后他们 会用十倍或几十倍以上的时间去调试,中间伴随着几次三番的推倒重来。最后,他们交出一 个勉强能跑的程序。这种程序,外行乍一看,觉得还行;内行乍一看,却是吓出一身冷汗! 这也许不能怪新手们,因为他们的老师还没 来得及教会他们“程序设计”的一些方法。他 们甚至还没 学会写注释,就已经毕业了。于是他们只能在毕业后的工作中,去完成这段本 该在学校里完成的修炼。要说到程序设计,最重要的一种方法,就是“多思考”。偏偏这又 是最难手把手地教的。在此,匠人介绍一些设计时比较常用方法给大家。我们可以借助这些 方法来对程序 行更高效、更多维的规划。 二、程序流程图 1 、从一个简单的流程图说起 我们先来看看这个图 (参见图 1.1:一个程 序流程图例子)。许多人都很熟悉,它的名称叫 流程图”,或者 程序流程图”。流程图是一 种传统的算法表示法,程序流程图是人们对解决问题的方法、思路或算法的一种描述。它利 用图形化的符号框来代表各种不同性质的操作,并用流程线来连接这些操作。 2 、流程图的 作用 流程图简单直观,应用广泛,功能卓越。 在程序的规划阶段,通过画流程图,可以帮 助我们理清程序思路。尤其是在非结构化的汇编语言中,流程图的重要性不言而喻。 在程 序的调试、除错、升级、维护过程中,作为程序的辅助说明文档,流程图也是很高效便捷的。 另外,在团队的合作中,流程图还是程序员们相互交流的重要手段。阅读一份简明扼要的流 程图,比阅读一段繁 的代码更加易于理解。 术交流:/bbs 术博客:/home 技术支持: 3、流程图的基本画法 按道理,画流程图应该是每个程序员的基本功。匠人惊讶的是,居然 那么多人不会或不屑于画流程图。 在这里,匠人罗列出一些流程图中常用的符号 (参见 图 1.2:常用的流程图符号)。 细心的读者会发现,这里给出的一些流程图符号与教科书上 的 点出入。 比如说符号D (条件判断框),书上给出的一般都是四角菱形的,而不是匠人 推荐使用的六角菱形。匠人在实践中发现,容纳同样多的文字,六角菱形比四角菱形可以节 省更多的空间。这也就意味着我们可以在同样大小的幅面内画出更多的内容。因此,除非是 您公司里 明文规定必须使用四角菱形,否则就让教科书见鬼去吧。 另一个不同点,就是 如果程序中要调用一个子程序,那么最好给这个子程序一个特别的符号,就像符号C (调用 子程序框)。这样做的好处是可以更 利于阅读。 4 、画流程图软件 匠人推荐用Visio 软件来画流程图。这款软件功能非常强大,而画流程图 只是它众多功能中的一个。您只需新建一个Visio 文件,点击菜单“文件”-〉“形状”-〉“流 程图”-〉“基本流程图”,就可以得到许多现成的流程图符号。 在Visio 画好的流程图,可 以很方便地复制到Word 环境中。并且可以在Word 中 一步 行修改编辑。 当然,如果您 术交流:/bbs 术博客:/home 技术支持: 只是偶然画流程图,也可以用Word 或Excel 软件的画图功能来实现。它们一样可以画流程 图,只是没 那么专业罢了。 (未完待续) 5、流程图的结构化 早期的非结构化语言中都 类似 “goto ”的语句。它允许程序从一个地 方直接跳到另一个地方去。而随着 C 语言的盛行,对程序的结构化要求,必然在流程图中 得到体现。 经过研 ,人们发现任何复 的程序算法,都可以分解为顺序、选择 (分支) 和循环这三种基本结构。基本结构之间可以并列、嵌套,但不允许交叉跳转。我们构造一个 算法的时候,也仅以这三种结构为构成单位,并遵守三种基本结构的规范。 如果说 “goto ” 是孙悟空的“筋斗云”,那么“结构化”就是“如来神掌”。也就是说,不管你如何翻腾,也 不能从一个结构直接跳转到另一个结构的内部去。呵呵!这就是结构化编程的要求。它的 好处就是结构清晰,易于正确性验证,易于纠错。 既然整个算法都是由三种基本结

文档评论(0)

bhyq + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档