美文网首页stm32
如何在Keil中提高代码的可读性

如何在Keil中提高代码的可读性

作者: greedyhao | 来源:发表于2018-07-09 08:59 被阅读0次

    写代码犹如挖坑,挖坑容易,填坑难。一旦代码遇到BUG,需要慢慢调试时,你就会发现代码的可读性非常重要了,代码不整齐、命名不规范等等问题会导致代码像一团屎,看着恶心,检查起来更是悲伤。

    所以,写代码前,最好先把代码的整体结构布置好,比如include放什么地方,define放什么地方,需要export的变量、函数放什么地方,最好又要保持自己所有的代码都保持这种模式,这时候,创建一个代码模板就非常有效了。

    创建一个代码模板需要注意哪些方面呢?没有什么好的想法的话可以参考一下优秀的开源代码。

    上面的代码风格从左到右,分别是FreeRTOS、FatFs、ST的代码风格,都很优秀,而且这些优秀的代码的共同点是,注释跟代码量差不多,甚至超过代码量。

    因为的本身也在使用Keil,而且ST的注释很有逻辑,就选择了ST的注释风格。选择了注释风格后,就是创建代码模板了。

    创建代码模板步骤如下

    1. 下载HAL库,并解压,打开Cube_FW_F7_V1.11.0\Drivers\BSP\Components\adv7533(也可以是其他文件夹下的),删除所有的代码,只留下注释

    2. 自己的工程中新建一个文件,复制到新建的文件中

    3. 打开工具栏的Configuration,选择Text Completion

    4. 新建一个Template,将模板复制进去

    5. 重复以上步骤,创建头文件的代码模板

    使用代码模板方法

    1. 新建一个文件,要包含在项目中

    2. 在左侧的工具栏选择Templates

    3. 点击先前创建的代码模板

    最后附上我创建的代码模板

    头文件的代码模板

    1. /* Define to prevent recursive inclusion -------------------------------------*/

    2. #ifndef

    3. #define

    4. #ifdef __cplusplus

    5. extern "C" {

    6. #endif

    7. /* Includes ------------------------------------------------------------------*/

    8. /** @addtogroup BSP

    9.  * @{

    10.  */

    11. /** @addtogroup Components

    12.  * @{

    13.  */

    14. /** @addtogroup ST7735

    15.  * @{

    16.  */

    17. /** @defgroup ST7735_Exported_Types

    18.  * @{

    19.  */

    20. /**

    21.  * @}

    22.  */

    23. /** @defgroup ST7735_Exported_Constants

    24.  * @{

    25.  */

    26. /**

    27.  * @}

    28.  */

    29. /** @defgroup ADAFRUIT_SPI_LCD_Exported_Functions

    30.  * @{

    31.  */

    32. /**

    33.  * @}

    34.  */

    35. #ifdef __cplusplus

    36. }

    37. #endif

    38. #endif /*  */

    39. /**

    40.  * @}

    41.  */

    42. /**

    43.  * @}

    44.  */

    45. /**

    46.  * @}

    47.  */

    48. /************************ (C) COPYRIGHT greedyhao *****END OF FILE****/

    源文件的代码模板

    1. /* Includes ------------------------------------------------------------------*/

    2. /** @addtogroup BSP

    3.  * @{

    4.  */

    5. /** @addtogroup Components

    6.  * @{

    7.  */

    8. /** @addtogroup ST7735

    9.  * @brief      This file provides a set of functions needed to drive the

    10.  *             ST7735 LCD.

    11.  * @{

    12.  */

    13. /** @defgroup ST7735_Private_TypesDefinitions

    14.  * @{

    15.  */

    16. /**

    17.  * @}

    18.  */

    19. /** @defgroup ST7735_Private_Defines

    20.  * @{

    21.  */

    22. /**

    23.  * @}

    24.  */

    25. /** @defgroup ST7735_Private_Macros

    26.  * @{

    27.  */

    28. /**

    29.  * @}

    30.  */  

    31. /** @defgroup ST7735_Private_Variables

    32.  * @{

    33.  */

    34. /**

    35. * @}

    36. */

    37. /** @defgroup ST7735_Private_FunctionPrototypes

    38.  * @{

    39.  */

    40. /**

    41. * @}

    42. */

    43. /** @defgroup ST7735_Private_Functions

    44.  * @{

    45.  */

    46. /**

    47. * @}

    48. */

    49. /**

    50. * @}

    51. */

    52. /**

    53. * @}

    54. */

    55. /**

    56. * @}

    57. */

    58. /************************ (C) COPYRIGHT greedyhao *****END OF FILE****/


    相关文章

      网友评论

        本文标题:如何在Keil中提高代码的可读性

        本文链接:https://www.haomeiwen.com/subject/vaczuftx.html