Kısa Soru
Bir OO C projesinin 'genel' ve 'özel' üyelerini adlandırmanın tipik bir yolu var mı?
Arka plan
Kamu ve özel üyelerin C dilinde gerçekten bulunmadığını tamamen anlıyorum . Bununla birlikte, çoğu C programcısı gibi, OO tasarımını korumak için üyelere hala kamu veya özel muamele ediyorum. Tipik OO yöntemlerine ek olarak bana hangi yöntemleri ayırt etmek daha kolay hale getiren bir desen (aşağıdaki örneğe bakın) Aşağıdaki kendime bulduk demek daha az kontrolleri olabilir özel üyelerin vs dış dünyaya yönelik / daha verimli vb vardır ... Böyle bir şey için standart ya da en iyi uygulama var mı ya da benim örneğim buna yaklaşmak için iyi bir yol mu?
Örnek Başlık
#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_ */
Örnek Kaynak
// 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
}