- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[转]如何看懂别人的代码张惠寿 2011年07月26日 星期二 16:26 | 131次浏览 | 0条评论/lohas_gis/blog/item/eff2ba1b58ee801e314e1577.html 今天还是研究生一年级生活的最后一个学期了。年前去了北京导师那里,自己的差距很大。老师留了作业,让我把老师讲过的代码,重新注释起来,可是我是初级选手,连代码都看不清楚呢。于是今天上网找来相关文章,阅读下。了解下。加油啦。 如何阅读源代码时间: 2010-03-04 / 分类: C/C++语言 / 您是第 661 位浏览者 / 0个评论 发表评论+++++++++++第一章: 导论++++++++++++1.要养成一个习惯, 经常花时间阅读别人编写的高品质代码.2.要有选择地阅读代码, 同时, 还要有自己的目标. 您是想学习新的模式|编码风格|还是满足某些需求的方法.3.要注意并重视代码中特殊的非功能性需求, 这些需求也许会导致特殊的实现风格.4.在现有的代码上工作时, 请与作者和维护人员进行必要的协调, 以避免重复劳动或产生厌恶情绪.5.请将从开放源码软件中得到的益处看作是一项贷款, 尽可能地寻找各种方式来回报开放源码社团.6.多数情况下, 如果您想要了解”别人会如何完成这个功能呢?”, 除了阅读代码以外, 没有更好的方法.7.在寻找bug时, 请从问题的表现形式到问题的根源来分析代码. 不要沿着不相关的路径(误入歧途).8.我们要充分利用调试器|编译器给出的警告或输出的符号代码|系统调用跟踪器|数据库结构化查询语言的日志机制|包转储工具和Windows的消 息侦查程序, 定出的bug的位置.9.对于那些大型且组织良好的系统, 您只需要最低限度地了解它的全部功能, 就能够对它做出修改.10.当向系统中增加新功能时, 首先的任务就是找到实现类似特性的代码, 将它作为待实现功能的模板.11.从特性的功能描述到代码的实现, 可以按照字符串消息, 或使用关键词来搜索代码.12.在移植代码或修改接口时, 您可以通过编译器直接定位出问题涉及的范围, 从而减少代码阅读的工作量.13.进行重构时, 您从一个能够正常工作的系统开始做起, 希望确保结束时系统能够正常工作. 一套恰当的测试用例(test case)可以帮助您满足此项约束.14.阅读代码寻找重构机会时, 先从系统的构架开始, 然后逐步细化, 能够获得最大的效益.15.代码的可重用性是一个很诱人, 但难以理解与分离, 可以试着寻找粒度更大一些的包, 甚至其他代码.16.在复查软件系统时, 要注意, 系统是由很多部分组成的, 不仅仅只是执行语句. 还要注意分析以下内容: 文件和目录结构|生成和配置过程|用户界面和系统的文档.18.可以将软件复查作为一个学习|讲授|援之以手和接受帮助的机会.++++++++++++++++++++第二章: 基本编程元素++++++++++++++++++++19.第一次分析一个程序时, main是一个好的起始点.20.层叠if-else if-…-else序列可以看作是由互斥选择项组成的选择结构.21.有时, 要想了解程序在某一方面的功能, 运行它可能比阅读源代码更为恰当.22.在分析重要的程序时, 最好首先识别出重要的组成部分.23.了解局部的命名约定, 利用它们来猜测变量和函数的功能用途.24.当基于猜测修改代码时, 您应该设计能够验证最初假设的过程. 这个过程可能包括用编译器进行检查|引入断言|或者执行适当的测试用例.25.理解了代码的某一部分, 可能帮助你理解余下的代码.26.解决困难的代码要从容易的部分入手.27.要养成遇到库元素就去阅读相关文档的习惯; 这将会增强您阅读和编写代码的能力.28.代码阅读有许多可选择的策略: 自底向上和自顶向下的分析|应用试探法和检查注释和外部文档, 应该依据问题的需要尝试所有这些方法.29.for (i=0; i30.涉及两项不等测试(其中一项包括相等条件)的比较表达式可以看作是区间成员测试.31.我们经常可以将表达式应用在样本数据上, 借以了解它的含义.32.使用De Morgan法则简化复杂的逻辑表达式.33.在阅读逻辑乘表达式时, 问题可以认为正在分析的表达式以左的表达式均为true; 在阅读逻辑和表达式时, 类似地, 可以认为正在分析的表达式以左的表达式均为false.34.重新组织您控制的代码, 使之更为易读.35.将使用条件运行符? :的表达式理解为if代码.36.不需要为了效率, 牺牲代码的易读性.37.高效的算法和特殊的优化确实有可能使得代码更为复杂, 从而更难理解, 但这并不意味着使代码更为紧凑和不易读会提高它的效率.38.创造性的代码布局可以用来提高代码的易读性.39.我们可以使用空格|临时
您可能关注的文档
最近下载
- 国家职业技术技能标准 4-10-01-03 保育师 人社厅发[2021]92号.docx
- 教师电子教案申请书模板.docx VIP
- 个人信用报告征信简版电子版PDF版2024年2月最新版带水印可编辑.pdf VIP
- 2025至2030中国电力生产行业市场发展分析及发展潜力与投资报告.docx
- 人教版(2024年新版)七年级上册数学全册教学设计.docx
- 高分子材料概述课件幻灯片课件.ppt VIP
- 财务报表基础知培训.ppt VIP
- 部编版小学四年级上册全册心理健康教育教案.docx VIP
- 《给水排水管道工程施工及验收规程》GB50268-2023.docx VIP
- 安全隐患排查治理台帐.doc VIP
文档评论(0)