以后将按照这个这个命名规范来编程

1.目录用小写加下划线:my_useful_class.h
2.文件注释
/**
  ******************************************************************************
  * @file    main.c
  * @author  AK
  * @version V1.0
  * @date    2022.07.22
  * @brief   
  ******************************************************************************
  * @attention
  *
  ******************************************************************************
  */
3.函数注释
/*
  *@brief     函数名: 解释
  *@param  参数名:解释
  *@param  参数名:解释
  *@retval   None
  */
4.函数用小驼峰:countDays();
5.类及结构体用大驼峰:typedef struct {} CountData;
6.变量用小驼峰:int myData;
7.宏和枚举用全部大写+下划线:#define MY_DATA 5

8.测试时使用的测试输出代码
#ifdef USER_MAIN_DEBUG
#define user_main_printf(format, ...) printf( format "\r\n", ##__VA_ARGS__)
#define user_main_info(format, ...) printf("[\tmain]info:" format "\r\n", ##
__VA_ARGS__)
#define user_main_debug(format, ...) printf("[\tmain]debug:" format "\r\n", ##
__VA_ARGS__)
#define user_main_error(format, ...) printf("[\tmain]error:" format "\r\n",##
__VA_ARGS__)
#else
#define user_main_printf(format, ...)
#define user_main_info(format, ...)
#define user_main_debug(format, ...)
#define user_main_error(format, ...)
#endif

#include <stdarg.h>

void myUartPrintf(char *fmt,...)
{
  char s[100];
  int i=0;
  va_list ap;
  va_start(ap,fmt);
  vsprintf(s,fmt,ap);
  va_end(ap);

  while(s[i] != '\0')
  {
      _UART_SEND(s[i]);
      //putchar(s[i]);
      i++;
      while(!_UART_SEND_IS_EMPTY());
  }
}

9.使用多语句的宏时建议使用do{}while(0),比如:do{printf("Hello World!");}while(0);优点是使用这个语句时无论你加不加大括号都不会改变程序的层级结构,如果只使用{}来进行宏定义,可能会改变程序的层级结构。

参考链接:http://t.csdn.cn/XEIxm

参考B站UP:江科大自化协的个人空间_哔哩哔哩_Bilibili

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值