Коротке запитання
Чи існує типовий спосіб назвати "публічних" та "приватних" членів проекту OO C?
Передумови
Я повністю розумію, що державні та приватні члени насправді не існують мовою С. Однак, як і більшість програмістів на C, я все ще відношусь до членів як до публічних чи приватних, щоб підтримувати дизайн ОО. На додаток до типових методів ОО, я виявив себе за шаблоном (див. Приклад нижче), що полегшує мені розрізнити, які методи призначені для зовнішнього світу проти приватних членів, які можуть мати менше перевірок / ефективніші тощо ... Чи існує стандарт чи найкраща практика для подібної речі чи мій приклад нижче хороший спосіб підійти до цього?
Приклад заголовка
#ifndef _MODULE_X_H_
#define _MODULE_X_H_
bool MOD_X_get_variable_x(void);
void MOD_X_set_variable_x(bool);
#endif /* _MODULE_X_H_ */
Приклад Джерело
// Module Identifier: MOD_X
#include "module_x.h"
// Private prototypes
static void mod_x_do_something_cool(void);
static void mod_x_do_something_else_cool(void);
// Private Variables
static bool var_x;
// Public Functions - Note the upper case module identifier
bool MOD_X_get_variable_x(void) {return var_x;}
void MOD_X_set_variable_x(bool input){var_x = input;}
// Private Functions - Note the lower case module identifier
void mod_x_do_something_cool(void){
// Some incredibly cool sub routine
}
void mod_x_do_something_else_cool(void){
// Another incredibly cool sub routine
}