跨平台 SDK 类名是否需要添加企业名称缩写前缀?

106 天前
 devzhaoyou

我们提供客户端 sdk 服务,是跨平台的 sdk ,支持 android ios ,Windows mac linux 系统,其他中 android 使用了 java 对接口进行封装 ios ,mac 使用了 oc 对接口进行封装,linux 和 Windows 是 c++接口。

我的问题是,我们定义的类和结构体类型,要不要添加企业的前缀,我们企业的前缀是 FB 缩写,比如 EngineConfig 写为 FBEngineConfig, Class LearnEngine,写为 FBLearnEngine

个人觉得为了简洁,C++完全可以通过命名空间 fb::LearnEngine 避免冲突,添加前缀的好处也就是可以一眼看出这是 FB 公司提供的库,除了这个感觉没有其他好处了吧

开源库,比如 opencv ,mnn 都没有添加 CV ,MNN 之类的前缀,但是看一些云厂商,比如腾讯,火山,他们又都添加了 TX 之类的前缀,所以我有些疑惑了。目前我倾向不添加前缀,不知道会不会有什么坑

另外对外的文件名要不要添加 fb_的前缀呢?

1422 次点击
所在节点    程序员
3 条回复
JoeJoeJoe
105 天前
> 支持命名空间的加不加前缀无所谓, OC 这种没有命名空间的语言是肯定要加前缀的, 要不集成容易冲突. java 跟 c++这种有包名/命名空间概念的加不加都行.
1. 跨平台 sdk 加不加的随意, 反正用户最终也看不到
2. 中间层的桥接 sdk 可以统一加一下, 用户调用的时候稍微方便一些:
2.1 调用你们方法的时候, 敲上前缀方便 ide 联想
2.2 避免引用的二义性, 不用给重名的类加别名
skallz
105 天前
很多 sdk ,不管啥语言的,好像都是会加的,方便开发对接人员看到这个前缀下意识知道这是什么 sdk 的功能
devzhaoyou
103 天前
@JoeJoeJoe 感谢 C++选择不添加前缀了,namespace 目前感觉足够了,OC 和 JAVA 添加一下,以后遇到坑再说

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1146232

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX