我正在编写一个小库并在命名约定中苦苦挣扎。有一个结构叫做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;
现在,我想为这个结构提供 2 个内置用途。
- 从/向一个读/写
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(/* */);
你认为哪些名字最有意义或看起来/听起来最好?使用该库时,您希望使用哪些名称?