Короткий вопрос
Есть ли типичный способ назвать «публичных» и «частных» участников проекта 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
}