美文网首页
C-语言项目架构和命名规范

C-语言项目架构和命名规范

作者: 牧馬放飏 | 来源:发表于2018-12-22 22:39 被阅读11次

背景

C语言项目架构和命名规范

  • 1.定义宏
  • 2.尽量不用全局变量
  • 3.少用全局变量
  • 4.别忘记加上static
  • 5.别忘记加上const
  • 6.明确哪些结构体、枚举、联合体、宏、常量
  • 7.让C代码带上面向对象的思想

1.定义宏

将用得非常多的命令或语句,利用宏将其简化。

#ifndef TRUE
#define TRUE  1
#endif
#ifndef FALSE
#define FALSE 0
#endif
#ifndef NULL
#define NULL 0
#endif
#define MIN(a,b)            ((a<b)?(a):(b))
#define MAX(a,b)            ((a>b)?(a):(b))
#define ABS(x)          ((x>)?(x):(-x))
typedef unsigned char  uint8;                                   /* 定义可移植的无符号8位整数关键字            */
typedef signed   char  int8;                                    /* 定义可移植的有符号8位整数关键字            */
typedef unsigned int   uint16;                                  /* 定义可移植的无符号16位整数关键字           */
typedef signed   int   int16;                                   /* 定义可移植的有符号16位整数关键字           */
typedef unsigned long  uint32;                                  /* 定义可移植的无符号32位整数关键字           */
typedef signed   long  int32;                                   /* 定义可移植的有符号32位整数关键字           */

2.尽量不用全局变量

全局很容易破坏软件的结构,增加代码的耦合度,将模糊业务代码、数据库代码、控制代码的界限,害得维护人员在阅读代码时,第一要务就是要追踪全局变量在哪里,由于设计得不好,基本项目的所有源代码文件都涉及修改了全局变量,这一追踪下来,不是一天半会能够摸索清楚你要了解的某个功能,尽管这个功能很小,你还是要看完这整个项目,太浪费时间了,不值得啊。

3.少用全局变量

有些项目由于硬件资源的限制,比如嵌入式开发,你不得不使用全局变量。在这种不可避免的情况下,我们只能尽量减少使用全局变量。

4.别忘记加上static

如果你使用到的全局变量仅仅是某个源文件(模块)使用到,别忘记给这个全局变量加上static。

5.别忘记加上const

如果你设计的接口(函数)有入参,而你不想修改这个入参,别忘记加上const。

6.明确哪些结构体、枚举、联合体、宏、常量需要全局使用,哪些需要全局使用

如果有的结构体、枚举、联合体、宏、常量仅仅是某个模块需要使用,就没必要放置在公共的头文件中

如果结构体、枚举、联合体是需要公用的,就要考虑是否需要仅仅在公用头文件中声明,在某个源文件中

实现,这样可以避免某些类型重复定义的错误。

7.让C代码带上面向对象的思想

不像C++这样即面向过程又面向对象的语言,更不像Java、C#这样完全面向对象的语言,C语言仅仅是面向过程的,但是我们可以为C语言设计的项目插上面向对象的翅膀。

相关文章

  • C-语言项目架构和命名规范

    背景 C语言项目架构和命名规范 1.定义宏 2.尽量不用全局变量 3.少用全局变量 4.别忘记加上static 5...

  • 内部前端规范v1.0

    项目目录结构规范 请查看 项目目录结构规范 HTML 命名规范 class 命名实行 BEM命名方式。关于BEM,...

  • 文档撰写规范

    一、命名规范 1. 文件命名规范 项目命名词(或项目编号)_文件命名词_日期_V版本号.文件后缀 项目_文件描述_...

  • android开发编码规范

    命名规范 android包命名规范 因为android包目录的命名会直接影响到整个APP项目工程后期的开发效率和拓...

  • 乐乎项目优化

    编程: 1、代码规范。架构规范、文件组织规范、命名规范、代码逻辑规范、资源存放。 一、使用cocoapod 二、代...

  • 规范文档

    1.命名规范2.注释规范3.代码规范4.目录规范 1.命名规范 通用规范通用规范是在整个项目中,所有的命名都需要遵...

  • 项目命名规范

    “There are only two hard problems in Computer Science: ca...

  • Android架构系列-开发规范

    本文介绍了项目里的各种命名等规范 0 Android架构系列文章 该系列文章会不断更新Android项目开发中一些...

  • 项目开发规范参考

    现有项目的开发规范文档 目录 命名规则文件命名 HTML规范 CSS规范 JS规范变量申明简写代码性能优化注释规范...

  • day8 CSS思考

    自己理想中的CSS架构 现今项目中CSS维护存在的问题 自动化工具的选择 文件结构与命名规范

网友评论

      本文标题:C-语言项目架构和命名规范

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