Domanda breve
Esiste un modo tipico per nominare membri "pubblici" e "privati" di un progetto OO C?
Sfondo
Comprendo perfettamente che i membri pubblici e privati non veramente esistono nel linguaggio C. Tuttavia, come la maggior parte dei programmatori C, continuo a trattare i membri come pubblici o privati per mantenere il design OO. In aggiunta ai tipici metodi OO, ho trovato il mio sé seguendo un modello (vedi esempio sotto) che mi rende più facile distinguere quali metodi sono intesi per il mondo esterno rispetto ai membri privati che possono avere meno controlli / sono più efficienti ecc ... Esiste una pratica standard o migliore per una cosa del genere o il mio esempio è un buon modo per avvicinarsi a questo?
Intestazione di esempio
#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_ */
Origine di esempio
// 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
}