V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
devzhaoyou
V2EX  ›  程序员

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

  •  
  •   devzhaoyou · 14 天前 · 1118 次点击

    我们提供客户端 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_的前缀呢?

    3 条回复    2025-07-21 11:41:37 +08:00
    JoeJoeJoe
        1
    JoeJoeJoe  
       13 天前
    > 支持命名空间的加不加前缀无所谓, OC 这种没有命名空间的语言是肯定要加前缀的, 要不集成容易冲突. java 跟 c++这种有包名/命名空间概念的加不加都行.
    1. 跨平台 sdk 加不加的随意, 反正用户最终也看不到
    2. 中间层的桥接 sdk 可以统一加一下, 用户调用的时候稍微方便一些:
    2.1 调用你们方法的时候, 敲上前缀方便 ide 联想
    2.2 避免引用的二义性, 不用给重名的类加别名
    skallz
        2
    skallz  
       13 天前
    很多 sdk ,不管啥语言的,好像都是会加的,方便开发对接人员看到这个前缀下意识知道这是什么 sdk 的功能
    devzhaoyou
        3
    devzhaoyou  
    OP
       11 天前
    @JoeJoeJoe 感谢 C++选择不添加前缀了,namespace 目前感觉足够了,OC 和 JAVA 添加一下,以后遇到坑再说
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1192 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 23:51 · PVG 07:51 · LAX 16:51 · JFK 19:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.