Krótkie pytanie
Czy istnieje typowy sposób nazwania „publicznych” i „prywatnych” członków projektu OO C?
Tło
W pełni rozumiem, że członkowie publiczni i prywatni tak naprawdę nie istnieją w języku C. Jednak, podobnie jak większość programistów C, nadal traktuję członków jako publicznych lub prywatnych, aby zachować projekt OO. Oprócz typowych metod OO znalazłem siebie według wzoru (patrz przykład poniżej), który ułatwia mi rozróżnienie, które metody są przeznaczone dla świata zewnętrznego w porównaniu do członków prywatnych, którzy mogą mieć mniej kontroli / są bardziej wydajni itp. ... Czy istnieje taka standardowa lub najlepsza praktyka dla takich rzeczy, czy też mój przykład poniżej jest dobrym sposobem na zbliżenie się do tego?
Przykładowy nagłówek
#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_ */
Przykładowe źródło
// 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
}