2014年《软件工程》教学课件07编程.pptVIP

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编程风格—命名规范 必须显式说明变量。 利用标识符的大小写变化区分全局变量、常量、局部变量、类型名等。如:常量全部大写,全局变量大写首字母,局部变量的首字母为小写等。 标识符的长度与使用频率成反比,使用较多的局部变量应尽量用m,n,i,j,k等代数变量名。 尽量缩小变量的作用域 。 编程风格—序言性注解(1) 每个模块的开始必须包括形如下述内容的序言性注解(利于复审和组装测试),并且该注解必须包括在源程序中,随同源程序输入/输出。 模块名称 模块功能及用途描述 (模块接口)输入/输出和入口/出口参数的允许和预期范围 SOFTWARE ENGINEERING Code Generation The Development Phase Software Testing Software Design 本部分不是介绍如何编写程序,而是从如何提高软件的质量和可维护性的角度,讨论在编码阶段所要解决的主要问题。 编程才是硬道理 编程(编码、实现) 编码是软件工程学的核心,不过由于在编程前已经进行了一些关键性的重要步骤,从而把编码降到某种机械地翻译详细设计规格说明书的地位,按40-20-40规则只占总开发工作量的20%左右(不含模块测试)。 过程描述(详细设计) 程序 目标代码 引入各种错误(对详细设计说明书的“误解”) 编程语言 有最好的编程语言吗? 回答是:在软件领域永远没有最好的,只有更好的。能解决问题的都是好方法或是好语言。 程序员在最初学习Basic、Fortran、 Pascal、C、C++等语言时会感觉一个比一个好,不免有喜新厌旧之举。而如今的Visual Basic、Delphi、Visual C++、Java等语言各有所长,真的难分优劣。 开发人员应该根据客观条件,选择自己熟悉的方法和语言,才能保证合格的质量与生产率。 编程语言的分类 低级语言(机器语言、汇编语言) 高级语言/过程性语言(FORTRAN、 Basic、 ALGOL、COBOL、C、Pascal、Ada等) 非过程性语言/面向对象编程语言等(LISP、PROLOG、VB、PB、DELPHI、xBase系列、 C++、Smalltalk、 Java语言等) 计算机(编程)语言的分代(1GL==5GL) 编程语言的选择 应用领域 算法和运算的复杂性 支撑环境(排斥新语言) 性能考虑(选择汇编语言的唯一理由) 数据结构复杂性 软件开发人员的知识和心理因素(排斥新语言) 一般在项目计划阶段就必须选定编程语言 编程语言的讨论 来自网站:/,“冒号和他的学生们—程序员提高班纪事” 冒号启开话题:“如果说编程范式是一种文化,那么编程语言更像是一种宗教——尽管它本不该是。每种语言都有大批忠实的信徒,随时可能与其他的信徒发生宗教战争。” 逗号深有同感:“周围和网上关于语言的争论从来不绝于耳,志不同道不合者动辄恶语相向。” 编程语言的讨论 冒号有些忿忿然:“这些信徒或准信徒们认为他们所崇拜的语言鹤立鸡群,远比其他语言高明得多,恨不得成为全天下程序员的通用语言。对其他语言的使用者,或居高临下地同情,或不屑一顾地讥讽。无知与偏见总是相辅相成的,他们中的绝大多数顶多熟悉一两种语言,其他的或浅尝辄止、或道听途说,却敢妄评优劣,岂不可笑之极?” 编程语言的讨论 引号点头称是:“是啊,没有深入的了解,怎会有深入的比较。只是真正掌握好一门语言已殊为不易,同时掌握几种就更难。学完一种语言再看另一种,总觉得别扭。” “这就是第一堂课所说的‘学会’与‘会学’的差距。”冒号挑明,“每种语言都有天然设计上的不同,当你用得很别扭时,恰恰说明没有真懂。……” 编程语言的讨论 问号注意到:“似乎不只是初学者,大师们也会对一些语言提出过尖锐的批评。” 冒号引用道:“C++的发明者Bjarne Stroustrup说过这样一句话,语言只有两种:一种怨声载道,一种无人问津。” 众笑。 句号有所体会:“一种语言如果用者甚众,自有其可取之处。没有一种语言是完美的,爱之深者尚苛之切,何况其余者乎?” 冒号忽然问:“你们知道对一种语言最大的批判是什么吗?” 众人纷纷摇头。 编程语言的讨论 “那就是发明一种与此语言有类似功用的新语言。”冒号语速放缓,“Stroustrup认为Simula太慢、BCPL又太底层,于是发明了C++;Gosling觉得C++用得不爽,于是发明了Java;微软恼恨Java,于是请Hejlsberg发明了C#;Matsumoto用了两年多的C++仍不顺手,于是发明了Ruby。如此这般,不一而足。” 编程语言的讨论 叹号无奈地说:“那是牛人的批评方法,常人怎能办到?” “没有能力发明语言,就老老实实地用别人的

文档评论(0)

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

1亿VIP精品文档

相关文档