คำถามสั้น ๆ
มีวิธีทั่วไปในการตั้งชื่อสมาชิก 'สาธารณะ' และ 'ส่วนตัว' ของโครงการ OO C หรือไม่?
ประวัติความเป็นมา
ผมเข้าใจว่าประชาชนและสมาชิกส่วนตัวไม่ได้จริงๆมีอยู่ในภาษา C อย่างไรก็ตามเช่นเดียวกับโปรแกรมเมอร์ C ส่วนใหญ่ฉันยังคงปฏิบัติต่อสมาชิกในฐานะสาธารณะหรือส่วนตัวเพื่อคงไว้ซึ่งการออกแบบ OO นอกเหนือจากวิธีการทั่วไปของ OO ฉันพบว่าตัวเองทำตามรูปแบบ (ดูตัวอย่างด้านล่าง) ซึ่งทำให้ฉันแยกแยะว่าวิธีใดมีความหมายสำหรับโลกภายนอกเทียบกับสมาชิกส่วนตัวที่อาจมีการตรวจสอบน้อยลง / มีประสิทธิภาพมากขึ้นเป็นต้น ... มีมาตรฐานหรือแนวปฏิบัติที่ดีที่สุดสำหรับสิ่งนั้นหรือเป็นตัวอย่างของฉันที่ด้านล่างเป็นวิธีที่ดีในการเข้าถึงสิ่งนี้หรือไม่?
ส่วนหัวตัวอย่าง
#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_ */
ตัวอย่างแหล่งที่มา
// 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
}