当前位置: 首页 > news >正文

调试技巧(2)

在这里插入图片描述
6. 如何写出好(易于调试)的代码
6.1 优秀的代码:

  1. 代码运行正常
  2. bug很少
  3. 效率高
  4. 可读性高
  5. 可维护性高
  6. 注释清晰
  7. 文档齐全

常见的coding技巧:

  1. 使用assert
  2. 尽量使用const
  3. 养成良好的编码风格
  4. 添加必要的注释
  5. 避免编码的陷阱。

这里讲一下assert 和const的作用
assert相当于断言,是一种暴力解办法的一个好东西,assert括号里的东西如果不满足条件的话,他就会报错,这样就很好的阻止一些错误的发生,当然我们在使用的时候一定要包含他的头文件<assert.h>.
const
const修饰指针变量的时候:

  1. const如果放在*的左边,修饰的是指针指向的内容,保证指针指向的内容不能通过指针来改
    变。但是指针变量本身的内容可变。
  2. const如果放在*的右边,修饰的是指针变量本身,保证了指针变量的内容不能修改,但是指
    针指向的内容,可以通过指针改变。

简单概括就是左定值,右定向。

下面讲个例子让我们看一下怎么写出好的代码
模拟实现strcpy函数

#include<string.h>
#include<stdio.h>
#include<assert.h>
char* my_strcpy(char* dest, const char* src)
{assert(dest && src);char* ret = dest;assert(dest && src);while (*dest++ = *src++){;}return ret;
}
int main()
{char arr[] = "xxxxxxxxxxx";char arr2[] = "abcd";char* ret = my_strcpy(arr, arr2);printf("%s", ret);return 0;
}

7. 编程常见的错误
7.1 编译型错误
直接看错误提示信息(双击),解决问题。或者凭借经验就可以搞定。相对来说简单。
7.2 链接型错误
看错误提示信息,主要在代码中找到错误信息中的标识符,然后定位问题所在。一般是标识符名不
存在或者拼写错误。
7.3 运行时错误
借助调试,逐步定位问题。

今天的分享就到这里,谢谢大家!!!!

http://www.lryc.cn/news/110265.html

相关文章:

  • 骨传导耳机真不伤耳吗?骨传导耳机有什么好处?
  • mac切换jdk版本
  • go 基本语法(简单案例)
  • Permute 3 for mac音视频格式转换
  • 线程概念linux
  • 【Yolov5+Deepsort】训练自己的数据集(1)| 目标检测追踪 | 轨迹绘制
  • express学习笔记4 - 热更新以及express-boom
  • Ajax_02学习笔记(源码 + 图书管理业务 + 以及 个人信息修改功能)
  • Python-数据类型转换
  • DASCTF 2023 0X401七月暑期挑战赛 Web方向 EzFlask ez_cms MyPicDisk 详细题解wp
  • 数据结构-链表
  • 大数据Flink(五十五):Flink架构体系
  • 使用矢量数据库打造全新的搜索引擎
  • 算法提高-树状数组
  • Django ORM详解:最全面的数据库处理指南
  • Istio 安全 授权管理AuthorizationPolicy
  • 04 Ubuntu中的中文输入法的安装
  • faac内存开销较大,为方便嵌入式设备使用进行优化(valgrind使用)
  • 分数线划定(c++题解)
  • React 在 html 中 CDN 引入(包含 antd、axios ....)
  • 数据结构----异或
  • PHP Smarty模板的语法规则是怎样的?
  • Socks IP轮换:为什么是数据挖掘和Web爬取的最佳选择?
  • 优化|当机器学习上运筹学:PyEPO与端对端预测后优化
  • Cocos Creator的 Cannot read property ‘applyForce‘ of undefined报错
  • 纯css实现九宫格图片
  • 【MySQL】数据库的增删查改+备份与恢复
  • Docker 部署 redis 举例
  • 通过HandlerMethodArgumentResolver实现统一添加接口入参参数
  • JAVA-spring boot 2.4.X报错Unable to find GatewayFilterFactory with name Hystrix