Rust安全绑定的命名约定

时间:2015-03-08 13:54:31

标签: naming-conventions rust ffi

我目前正在为C库做安全的Rust绑定,它在#define中定义了很多具有UPPER_SNAKE_CASE名称的常量。

对于大多数情况来说它不是问题(Rust使用相同的约定)但实际上,在这个C库中,一些函数使用它们为void*指针赋予类型,所以我在考虑包装它们在包含正确数据的结构中,并将其用作用户的界面。

然而,命名这些结构的首选方法是什么?我应该使用CamelCase名称来匹配Rust约定还是保持接近C库名称并使用上部蛇盒?

1 个答案:

答案 0 :(得分:0)

我认为这完全是一种品味问题。我个人将C库包装器拆分为两个层次:

  • FFI,作为一个单独的模块,甚至是单独的crate,它尽可能接近C库,包括其命名约定和数据类型。在这种情况下,我会保留-> *mut libc::voidexample)。

  • 安全,高级包装器,使用Rust的数据类型和命名约定(example)。