我正在写一个小库,并与命名约定斗争。有一个称为gk_Stream
的结构,定义如下:
typedef struct gk_Stream {
gk_Stream_writeProc write;
gk_Stream_readProc read;
void* data; // Pointer to data needed by read and write procedures.
} gk_Stream;
现在,我想为这个结构提供两个内置的用途。
从/到a
FILE*
的读/写从缓冲区读/写
我首先调用如下函数:
gk_Stream_initWithFile(gk_Stream* stream, FILE* fl);
gk_Stream_initWithBufferSize(gk_Stream* stream, size_t bufferSize);
gk_Stream_initWithStringAndBufferSize(gk_Stream* stream, char* string, size_t string_length, size_t buffer_size);
gk_Stream_deallocBuffer(gk_Stream* stream);
但另一种可能是这样称呼他们:
gk_Stream_file_init(/* */);
gk_Stream_buffered_initWithSize(/* */);
gk_Stream_buffered_initWithStringAndSize(/* */);
gk_Stream_buffered_dealloc(/* */);
你认为什么名字最有意义,或看起来/听起来最好?使用库时要使用的名称是什么?
最佳答案
我会这样做:
gk_Stream_InitWithFile(gk_Stream* stream, FILE* fl);
gk_Stream_Deinit(gk_Stream* stream);
gk_Stream_InitWithBufferSize(gk_Stream* stream, size_t buffer_size);
gk_Stream_InitWithStringAndBufferSize(gk_Stream* stream, char* string, size_t string_length, size_t buffer_size);
下划线分隔“名称空间”,函数名为CamelCase。变量的小写。
关于c - 多种用途的结构命名方法的约定,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11231247/