Câu hỏi ngắn
Có cách nào điển hình để gọi tên các thành viên 'công khai' và 'riêng tư' của dự án OO C không?
Bối cảnh
Tôi hoàn toàn hiểu rằng các thành viên công cộng và tư nhân không thực sự tồn tại trong ngôn ngữ C. Tuy nhiên, giống như hầu hết các lập trình viên C, tôi vẫn coi các thành viên là công khai hoặc riêng tư để duy trì thiết kế OO. Ngoài các phương pháp OO điển hình tôi đã tìm thấy bản thân tôi sau một mô hình (xem ví dụ dưới đây) mà làm cho nó dễ dàng hơn cho tôi để phân biệt mà phương pháp này có nghĩa là cho thế giới bên ngoài vs các thành viên tin rằng có thể phải kiểm tra ít / hiệu quả hơn vv ... Liệu một tiêu chuẩn hoặc thực tiễn tốt nhất có tồn tại cho một điều như vậy hay là ví dụ của tôi dưới đây là một cách tốt để tiếp cận điều này?
Tiêu đề ví dụ
#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_ */
Nguồn ví dụ
// 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
}