Kurze Frage
Gibt es eine typische Möglichkeit, "öffentliche" und "private" Mitglieder eines OO C-Projekts zu benennen?
Hintergrund
Ich verstehe voll und ganz, dass öffentliche und private Mitglieder in der C-Sprache nicht wirklich existieren. Wie die meisten C-Programmierer behandle ich Mitglieder jedoch weiterhin als öffentlich oder privat, um das OO-Design beizubehalten. Zusätzlich zu den typischen OO-Methoden habe ich mich nach einem Muster wiedergefunden (siehe Beispiel unten), das es mir erleichtert, zu unterscheiden, welche Methoden für die Außenwelt gedacht sind , und welche privaten Mitglieder möglicherweise weniger Prüfungen haben / effizienter sind usw. ... Gibt es für so etwas einen Standard oder eine Best Practice oder ist mein Beispiel unten ein guter Weg, dies zu erreichen?
Beispiel-Header
#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_ */
Beispielquelle
// 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
}