Pregunta corta
¿Existe una forma típica de nombrar miembros 'públicos' y 'privados' de un proyecto OO C?
Antecedentes
Entiendo completamente que los miembros públicos y privados realmente no existen en el lenguaje C. Sin embargo, como la mayoría de los programadores de C, todavía trato a los miembros como públicos o privados para mantener el diseño OO. Además de los métodos típicos de OO, me he encontrado siguiendo un patrón (ver ejemplo a continuación) que me hace más fácil distinguir qué métodos están destinados al mundo exterior frente a los miembros privados que pueden tener menos controles / son más eficientes, etc. ... ¿Existe un estándar o una mejor práctica para tal cosa o mi ejemplo a continuación es una buena manera de abordar esto?
Encabezado de ejemplo
#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_ */
Fuente de ejemplo
// 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
}