- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何提高编程技巧目 录调试DEBUG1CONTENTS编程CODING2进阶ADVANCED SKILLS3其它OTHERS401The Skills AboutDebug调试技巧调试技巧关键error读懂VS的抱怨读不懂就问百度/谷歌标点,括号,变量名错了,变量名与函数名相同,输入法,类型转换与函数接口调试技巧LNK很复杂调用了不该调用的函数, : public, ::没有初始化,变量重定义,环境配置,Q_OBJECT,谷歌/百度调试技巧找到问题出在哪里1.断点2.输出 std::cout,qDebug()调试技巧循环体1.输出次数(i == 0, i == 1, i == xx.size-2, i == xx.size-1)2.越界?负数?边界条件?3.算法的理解?实现?调试技巧迭代1.从上至下的迭代举例:mergeSort 方法:输出调试技巧迭代2.从下至上的迭代举例:tree的合并 方法:xxKernal()与输出02CodingC++编程编程规范变量名与函数名 bool isValid(); int findId( int num, bool is_in_list ); bool is_valid_; QPoint start_point_; RenderWidget*render_widget_; 编程规范输入法:尽量不用中文; Tanslator、WritingSystem与.ts复制粘贴:尽量不要复制粘贴编程规范传递地址: void computeResult( vectorfloat input_vec, vectorfloat result_vec );void computeResult( vectorfloat input_vec, vectorfloat result_vec );void computeResult( vectorfloat input_vec, vectorfloat result_vec );std::vectorfloat getVector();void getVector( std::vectorfloat n_vec );编程规范注释:给自己看,给别人看.h声明、.cpp #include编程规范构造:成员变量全部赋初值, 指针全都申请空间析构:指针全部释放空间每一个函数:开头包含判断语句、 清空/初始化语句, 最好有返回值编程规范标量参数:int optimize_times_更多的private函数:公有函数更多的是一个接口而非实现;xxKernal();备份:少删编程规范用小程序来尝试库,不要在源程序里直接运用 举例:Eigen::SparseMatrix优化代码之后做:先做最简单的举例:编程规范每次更新一个函数/功能测试数据:随机?数量?次数? 举例:快速排序随机的10w个数封装举例:目的:模块化好处:安全要求:少暴露成员变量, 只暴露接口多态继承目的:防止类泛滥好处:父类的函数、变量, 子类不用再 写一遍要求:耦合性高目的:解决紧耦合好处:可扩展要求:一致接口多态与继承:xxBase共用的、不核心的放到一起: 输入、 输出、 预处理、 工具函数分工要明确: 输入、 初始化矩阵、 矩阵计算、 输出多态与继承:xxBase举例:Image Warping输入:原本点列、目标点列输出:对应点预处理:初始化矩阵工具函数:两点距离不同点:全部计算过程多态与继承:xxBase举例:Image Warping输入与计算混在一起输入是在子类实现的返回很好多态与继承:xxBase举例:Image Warping输入很好返回与计算混在一起很微妙的double*多态与继承:xxBase举例:Image Warping除了缺少输出都很好多态与继承:xxBase举例:Parameterization输入:网格输出:参数坐标/网格预处理:网格边界、目标边界获取工具函数:距离多态与继承:xxBase举例:ParameterizationsetBorder没有选择多态与继承,很可惜输入很好,但父类存储的东西太少了输出在子类里实现多态与继承:xxBase没有setBorder输入很好每次都在子类里存储一样的成员变量?输出与计算混在一起,在子类里实现举例:Parameterization没有setBorder,采用了泛滥成灾的类输入采用了每次都输入一遍LU 和b应该是private变量输出与计算混在一起,在子类里实现多态与继承:xxBase举例:Poisson Image Editing输入:原本点列、目标点列输出:新颜色预处理:初始化矩阵与预分解工具函数:03Advanced Skills进阶技巧进阶技巧“RenderWidget, 你知道的太多了”劳模?臃肿?劳模?臃肿?简
您可能关注的文档
- 蠕变的晶界运动机制和提高抗蠕变性能的方法.ppt
- 提高LTE国漫用户数据业务使用成功率.pptx
- SANGFOR_WLAN_v1.8渠道初级认证培训02_无线产品工勘基础.ppt
- 第7章杂凑算法与消息认证.ppt
- 第08章 身份认证 访问控制与系统审计.ppt
- 专题7.2 政府转型与治理.pptx
- 第19章 提高电力系统稳定性的措施.ppt
- 实战提高班第十七节课课件.pptx
- 文化的重要性专题讲座.ppt
- 新IT基础设施支持行业数字化转型.pptx
- 3.1笔墨之美 课件 2025湘美版美术八年级上册.pptx
- 4.10认识船(教学课件)科学人教鄂教版二年级上册2025.pptx
- 第12课《 巧妙化解冲突》 课件 北师大版心理健康八年级上册.pptx
- 浙教版信息科技四年级下册全册教学设计教案.docx
- 2.3游戏中的观察(教学课件)科学教科版一年级上册2025.pptx
- 第13课《 合作的秘诀》课件 北师大版心理健康七年级上册.pptx
- 5.24 制作“冰琥珀”(教学课件)科学青岛版五四制三年级上册2025.pptx
- 人自然社会第9课《面对考试,你准备好了吗》课件.pptx
- 浙教版信息科技四年级下册全册学习任务单.docx
- 4.10认识船(教学课件)科学人教鄂教版二年级上册2025.ppt
最近下载
- 2025秋统编版(2024)道德与法治三年级上册第三单元《第9课 让我们的学校更美好》教学设计.docx VIP
- 2025团校入团积极分子题库(含答案).docx
- 腰椎术后脑脊液漏护理查房.pptx VIP
- 人教版三年级英语上册单词及常用表达法默写纸.pdf VIP
- 世界社会主义的曲折与奋起(上)——《社会主义发展简史》之十PPT课件.pptx VIP
- 化工生产安全员招聘安全生产.pdf VIP
- 2023医生述职报告推荐5篇.docx VIP
- 劳务派遣劳务公司组织结构及部门说明方案.docx VIP
- 2025至2030年中国智能声级计行业发展研究报告.docx
- 四川省住宅物业管理规程.pdf VIP
原创力文档


文档评论(0)