第7章编码实现资料.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、所谓编程实际上是把一件事情交给计算机去做,你认为这件事该如何做,就用“程序语言”的形式描述给计算机。如果你原本就不明白如何去做,那么你也不要期望计算机去理解你想要做什么。 所以编程的第一要务是先把事情分析清楚,事件先后的逻辑关系和依赖关系搞清楚,然后再去代码实现。一接到任务就开始Coding的程序员,通常就是加班最多的程序员。 2、公式“程序 = 算法 + 数据结构”的精彩之处,在于它没有任何的地方提及到Code。甚至可以说,在这个公式里,代码是不存在的,存在的只是一种逻辑思维。在计算机专业所学的课程中,讲述算法和结构的是“数据结构”。在所有的算法描述中,有且仅有三种执行逻辑:顺序、分支和循环。简单如顺序表,复杂如树、图,它们的算法都是用上面这三种执行逻辑来描述的。算法是对一个程序的逻辑实现的描述,而数据结构是逻辑实现所依附的数据实体。只要开发人员将这个程序的算法设计出来了,把结构描述出来了,那么程序就已经定型了。剩下的事,简而言之,就是劳力活。 1、在以前相当长的一段时间内(软件开发非标准化,作坊式开发),多数人认为程序是给机器执行的而不是供人阅读的,所以只要逻辑正确就足够了,至于是否易于阅读理解则不必介意。所以程序员中有一种严重低估编程方法的倾向:程序可随意编写,结果正确就可以了。 2、读程序的时间恐怕比写程序的时间还要多。称职的程序员应该具有一定的写作表达能力,他应该能够编写出结构良好、层次分明、思路清晰的文章。连文章都写不好是难以写出好的程序的,所以有人说:“对于程序员来说,最重要的不是学习程序设计语言PORTRAN、BASIC等,而是学习英语(日语、汉语)”。 3、程序员在为软件系统编写的程序,今后会有人(包括本人)反复阅读,沿着你现在的思路理解程序的功能及正确性,我们在编程时宁可多花些时间提高程序的可读性,将大大节省人们阅读程序的时间。从整体来看,这样做是值得的。 1、笔者所在的公司每年都要举行编码规范的考试。 2、现代软件开发一般会有几十万行以上的源代码,工作量大,需要多个程序员密切合作。程序员往往需要阅读对方的代码,因此编写规则就显得非常重要。 1、RTOS操作系统:任务就绪表、任务等待表等。 * Note:用matrix代替判断,要增加const table,在上例中如果default分支中还有赋值语句,那么要在const table中增加一个元素,相应的修正后的else语句中也要加入一条赋值语句,如果const table的size是long int型,ROM size并不能减少。初步统计一条case语句+一条跳转指令+加一条赋值指令的大小为6bytes。如果const table的大小远远小于判断语句的大小,可以考虑该方法。 * 1、RTOS操作系统:任务就绪表、任务等待表等。 * 1、对比两种解决方案:使用嵌套if书写容易,符合思维习惯,但程序较复杂,而且不利于系统扩展。当使用静态表时,只要构造了检查所需的表格,判断程序非常简单,而且系统扩展容易实现。 * 比如说,在PC 上用这招编写的程序,并在PC 上调试通过,在移植到一个16 位机平台上的时候,可能会产生代码隐患。所以只有在一定技术进阶的基础下才可以使用这招。 * 1、如果定义的结构体数组的大小为n,那么节省的size为(12-8)*n=4nbytes。 对于结构体类型,定义的时候要考虑到结构体成员字节对齐,按照成员类型从大到小的顺序进行定义,这样可以节省很多空间。 * 对外部变量或静态变量赋值的时候,需要两条汇编指令。而对于内部变量的操作,只需要1条汇编指令。 也可以降低耦合性。 * 可以减少函数的多次调用。减少了函数被调用的次数,翻译成汇编时,也就减少了跳转指令(每条跳转指令大概占用4Byte空间)。 * 同样可以减少函数调用的次数。 * 具体问题具体分析,“运用之妙,存乎一心”。 * * * * 第七章 编码实现 目标: 本章旨在向学员介绍: 7.1 编码概述 7.2 编码规范 7.3 编码技巧 时间:4学时 教学方法:讲授PPT+ 案例分析 7.1 编码概述 7.1.1 编程的前提和任务 ☆编程的前提: “程序员应该克服急于去编程的欲望”。在软件开发过程中,需求明确,设计充分,需求文档和设计文档都经过同行评审并且发现的问题都已经修正完毕,至此编程的条件才具备了。编程阶段相当于机械工程中图纸设计完成后的“制造”阶段。 ☆编程的任务: 编程(Coding)的任务是为每个模块编写程序,也就是将详细设计的结果转换成用某种语言写的程序描述给计算机,让计算机去执行。编程阶段交付的结果就是程序,此时程序应不再含有语法错误。 7.1 编码概述 7.1.2 编程的目标和原则 ☆编程的目标是编写

文档评论(0)

知识宝库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档