版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、*2006-07-10高效能的编程PPT课件 成为高效能程序员的目的 高效能程序员的特征 高效能程序员的理念 高效能程序员的工具箱高效能的编程PPT课件 正如企业的目的是挣钱(成本,库存,资金流通,销售额),而程序员的目的是在有限的时间内增加自己的代码产出量(复用,质量,风格) 什么才是一个好的程序员(质量 or 效率)? 怎样才能成为更好,更高效,更优秀的程序员?高效能的编程PPT课件 1.解决bug,复现错误,跟踪代码(故障机制) 2.基础组件的更改,影响自己的代码(持续集成) 3.修改一处代码,引发更多错误(覆盖测试) 4.签入代码,但安装盘不可用(自动化脚本) 5.一处代码,多处拷贝(
2、重复的危害)高效能的编程PPT课件 关心自己的技艺 Think in work! 好奇,批判的思考者,批判的分析你读到的和听到的 多才多艺,熟悉广泛的技术和环境 善于利用和制造各种工具 持续的改进 有效的交流高效能的编程PPT课件 不要容忍破窗户,做变化的催化剂 不要试图隐藏自己的弱点,要诚实和坦率 DRY-Dont Repeat Yourself 无处不在的自动化 留心大图景,持续不断的观察周围发生的事情(煮熟的青蛙) 定期为你的知识资产投资高效能的编程PPT课件1.信息的多种表示(数据库表和类结构) 2.代码中的文档(注释) 3.文档和代码 4.无耐性的重复(捷径但不有效,如软件版本号)
3、5.开发者之间的重复(如日志记录机制,需要主动交流)高效能的编程PPT课件 重复与枯燥的事应该让机器来做 人容易出错与没有耐心 机器适合做这些事 让机器一次重复地、自动地做所需要的事 任何重复的事都是可以自动化的 先有思想才会有行动高效能的编程PPT课件 用自动化的思路来思考软件过程在开发过程中有哪些事情总是重复且枯燥,而不情愿去做?在哪些重复的事因为你不情愿去做,而会对你的开发过程造成不好的影响?有哪些事情你是希望能用机器帮你做到,而可以一劳永逸的方便地执行? 找出来,并尽量自动化它们高效能的编程PPT课件 编译、构建 文档 测试 代码生成 发布 源代码控制 配制高效能的编程PPT课件 1.
4、纯文本的威力-储存知识的最佳格式保证不过时;易于理解维护; 2.精通一种编辑器,将其用于所有的编辑任务(代码;文档;配置项;脚本等),如ultraedit, editplus 3.使用shell鼠标vs键盘高效能的编程PPT课件 代码风格检查(FxCop) Resharper(去除一些C代码中的不良代码) 自动测试(NUnit) 持续集成(CruiseControl) 文档自动生成(NDoc)高效能的编程PPT课件 启动一个notepad用多少次操作鼠标新手:开始-程序-附件-记事本(4)鼠标高手:桌面-快捷方式(2)鼠标高高手:点击快捷栏上的快捷方式(1)键盘新手:win+R-notepad
5、(2)键盘高手:Ctrl+Alt+N(1) 相同?使用鼠标时手要离开键盘,并回来、高效能的编程PPT课件 GUI的程序永远都是一个一个的单独实体 如果需要完成GUI程序一开始没有提供的功能,你只能扩展它(如果它提供)或者重写一个,或者再找一个比它更好的 脚本可以快速与任意的组合完成一些用鼠标很难完成的工作 可重复,并且自动化,只有写一次,而后方便的执行,不用每次都做重复的鼠标操作 学习Shell是每一个关注自动化的、高效率程序员的必修课高效能的编程PPT课件 找出修改日期比你的makefile更近的全部.c文件?GUI: 资源管理器-目录-点击makefile-记下修改时间-查找-*.c-选项
6、-输入日期-确定或者:资源管理器-目录-查找-*.c-结果中排序脚本:find . name *.c newer Makefile print 高效能的编程PPT课件 怎样来注册某一个目录下中所有子文件夹中的ocx文件 一次停掉或开启多个Windows服务 一次修改多个环境变量 如果定时的运行或个程序高效能的编程PPT课件 在IDE里编辑代码 可能会需要点击check out的提示确定按钮 点击编译按钮,或者是击打它的快捷键 如果有错,则改正它 在应用或者测试工程中测试刚才的功能 提交代码,选择并点击check in按钮 修改接口文档(如果需要的话)高效能的编程PPT课件 在IDE(或者任何你
7、喜爱的编辑器)中编辑代码 按下自动化的快捷键按钮机器自动的帮你编译、测试与提交代码并生成文档 如果出错则继续 否则、就没有了高效能的编程PPT课件 打开源代码工程,重现它 设定断点 在调试状态重现它 跟踪 找到BUG 除错 再测试(如果耐心足够进行一部分回归测试) 提交 如果需要更改接口文档(如果你还没有忘记)高效能的编程PPT课件 根据错误的自动收集(日志)发现问题所在 大概的定位并重现(调试)它 用单元测试描述它 除错 自动化完成机器帮你编译、测试、提交代码、生成文档并进行所有的回归测试高效能的编程PPT课件 错误的重现最重要的是数据与场景 日志与收集产品版本OS与IE版本故障的文件与行号
8、异常信息错误类型的唯一编码高效能的编程PPT课件 NDoc doxgen高效能的编程PPT课件 单元测试(NUnit) 集成测试 GUI自动化测试(robot) 性能测试 压力测试(Loadrunner) 一个bug只抓一次 举例NUnit高效能的编程PPT课件 你的代码太有风格了,我能一眼就看出哪一段是你写的、 Hum?为什么有的函数用小写,而有的用大写,为什么有的变量用m_开始,而有的没有?那用H_开头是什么意思? 噢,m_开头的那个是A写的,他以前用VC,而没有的是B写的,她喜欢java,H_自然是老黄写的,那是他的标志高效能的编程PPT课件 Code review 风格可以有很多种,但
9、是一个团队最好只有一种 混合的风格是最坏的风格 让工具自动为你做出提示或警告 Checkstyle、 FxCop、clint 静态的代码分析是额外的收获高效能的编程PPT课件 喂!我的组件怎么不能用了,昨天我还是能用的,你们做过些什么了? 噢,我几天前修改了一个BUG,并改了一个接口;因为、我只能这样做 天,我的组件可是需要今天提交的,你怎么不早点告诉我?(愤然并无奈的却修改代码)高效能的编程PPT课件 嘿,我让你加的那个新的功能你可否做了?我等着它实现我的任务呢! 做了,你没有看到吗? 没有啊,你来看看! 噢,你用的版本不对,请到、上拷一下最近的 我什么时候总能得到你最新的版本? 嗯,这个嘛
10、、高效能的编程PPT课件 上面的回忆你曾经拥有过吗? 如果答案是肯定的,那你肯定应该使用持续集成 持续集成又称为每日构造(daily build) 所有的源代码都在很短的周期内(几个小时-1天)之中从头构造与集成 早崩溃优于最后才知道高效能的编程PPT课件 将所有源代码保存在单一地点,让所有人能从这里获取最新的源代码(和以前版本) 使创建过程完全自动化,让任何人都可以只输入一条命令就完成系统的创建 确保所有人都可得到最新、最好的可执行文件高效能的编程PPT课件 所有最新的源代码都被配置管理系统验证合格 所有文件都通过重新编译 得到的目标文件都通过链接,得到可执行文件 运行所有的单元测试代码和其他的自动化测试脚本高效能的编程PPT课件 CC与CVS、SVN、ClearCase CC与NANT CC与NUNIT CC与NCover CC与FxCop CC与Simian高效能的编程PPT课件 写一个简单NANT脚本显示Hello world!,并运行它。 用NANT来编译一个C#工程 用NANT来运行NUNIT测试高效能的编程PPT课件高效能的编程P
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年窗帘店小区驻点与软装搭配方案
- 如何运用“QC七大手法”让检验数据会说话
- 交地协议书范本
- 学校管理制度汇编
- 空调现场施工方案(3篇)
- 秋季预热活动策划方案(3篇)
- 粉尘污染施工方案(3篇)
- 招商邮轮活动策划方案(3篇)
- 端午活动策划方案图片(3篇)
- 中职课堂营销方案(3篇)
- 出水井施工方案(3篇)
- 健康照护师操作测试考核试卷含答案
- 2026湖南省卫生健康委直属事业单位招聘185人考试参考试题及答案解析
- 航空航天及设备制造标准化操作规程手册
- 【2025年】裁剪工岗位职业技能资格考试联系题库-含答案
- 西藏自治区工程建设项目审批(核准,备案)全流程事项清单
- 工艺纪律检查培训课件
- 黑便血便课件
- 中药知识丹参
- 物流运输管理课件
- 人工智能与未来 课件 第5章 算力
评论
0/150
提交评论