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

吐槽,心累,写各种兼容代码

  •  
  •   stefanieewu · 2022-08-31 18:21:06 +08:00 · 2746 次点击
    这是一个创建于 849 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,切图仔一个,最近在做 h5 的一些营销需求,场景比较复杂,交互也多。

    简单描述就是:当容器在 app 内一套逻辑,在 app 外另一套逻辑,常规的业务内容展示也就罢了,无非只是 if else ;烦就烦在有一些需求有平台的适配问题,举个例子:将当前内容保存图片到手机、各个渠道的分享(主要是 wechat 、facebook 、Twitter 等那些)、检测手机上有没有 app ,打开 app 等等

    写页面很快,但是当遇到某个功能在某些场景才会触发或者失效,就很蛋疼,调试的时间说不定比实际写页面的时间还多。一两个这种问题还好,处理的越多而且时间越急心情就更加烦躁

    尝试过换个思路安慰自己:积累多这种经验,在公司就是不可替代的,但仔细一想,这些经验对我跳槽好像不管用啊,而且还很浪费时间啊!!!

    不知道该以什么样的心态来面对来写各种兼容代码,不吐不快

    9 条回复    2022-09-01 10:49:20 +08:00
    freak118
        1
    freak118  
       2022-08-31 18:36:26 +08:00
    我也想问
    qW7bo2FbzbC0
        2
    qW7bo2FbzbC0  
       2022-08-31 19:03:44 +08:00
    今天刚看到,AWK 的 K 说调试代码是写代码的两倍时间
    dudubaba
        3
    dudubaba  
       2022-08-31 19:10:15 +08:00
    无解,有时一个问题卡壳能卡一天,而且问题还是业务上兼容导致的,非主功能代码。
    reter
        4
    reter  
       2022-08-31 19:14:11 +08:00 via Android   ❤️ 2
    个人觉得应该调整写代码时心态:不要小瞧任何一项小功能,一个小功能背后,其实有很多的看不见的大功能支撑

    在时间允许的情况下,设计好代码结构,尽量考虑各种边界情况,给未来的代码预留扩展空间,做好代码模块的封装,了解背后接口 /功能的大概实现,每一行代码都做到心中有数

    比如在兼容代码这块,其实背后有很多的设计思路可以挖掘:代码层面,程序之间 api 层面,数据结构,业务上,项目上。然后扩展到设计模式,api 的设计,数据结构上的设计,用什么方式,既能不破坏现有的功能,又能增加新的功能,尽量避免引入新的 bug

    当然,这些都是软技能,不是什么我学会了 xxx 框架,xxx 语言,挖掘支撑小功能背后的知识,找到自己感兴趣并有学习动力的知识点最重要

    我自己经验也不足,希望这点经验可以帮助到你
    wu67
        5
    wu67  
       2022-08-31 19:30:40 +08:00
    很正常, 现在因为手机的快速淘汰换代已经算好兼容了, 往前几年, 那些兼容问题会写得人发疯
    tbg
        6
    tbg  
       2022-08-31 19:32:48 +08:00 via iPhone
    没办法
    stefanieewu
        7
    stefanieewu  
    OP
       2022-08-31 21:14:18 +08:00
    @reter 十分感谢您的回复。认真看了,自己确实心态不太 ok ,曾经也因为小瞧小功能犯了一些错。时间充足的情况下,个人还是想写容易维护、拓展的代码的,也曾经和原生同事探讨过比如重构 sdk 、开放更多的 webview 权限提供到 h5 开发者,但最终都因为各种原因不了了之。不管怎么样,您的回复对我十分有帮助,感谢您的回复!
    LOWINC
        8
    LOWINC  
       2022-09-01 09:26:26 +08:00
    和我一摸一样。。。
    hu1e
        9
    hu1e  
       2022-09-01 10:49:20 +08:00
    多封装呗,把兼容性代码封装到统一的库去,这样应该能省事
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   962 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:39 · PVG 05:39 · LAX 13:39 · JFK 16:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.