V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wooolf
V2EX  ›  程序员

求教前端大佬,公司用 vue3 却不写接口,不用静态类型,有什么说法吗?

  •  
  •   wooolf · 36 天前 · 4835 次点击
    这是一个创建于 36 天前的主题,其中的信息可能已经有所发展或是发生改变。

    作为一个 java 后端,现在在上手公司的 vue3 项目,对象基本靠 log 来查看理解。感觉好不习惯...

    64 条回复    2024-06-16 00:33:43 +08:00
    yunlongV
        1
    yunlongV  
       36 天前
    没看懂..
    lscho
        2
    lscho  
       36 天前
    没啥说法,大多数原因是时间不够呗。。。如果时间足够,大多数程序员还是愿意把项目写好的
    crocoBaby
        3
    crocoBaby  
       36 天前
    本来就可用可不用啊,没有说 vue3 一定要用 ts
    g0blin
        4
    g0blin  
       36 天前
    没看懂..
    yaott2020
        5
    yaott2020  
       36 天前 via Android   ❤️ 1
    提醒一句,不要用你写 A 语言的习惯套在 B 语言身上
    rockey1997
        6
    rockey1997  
       36 天前   ❤️ 2
    不习惯就对了 反思一下自己为什么不写接口文档 (doge)
    CHTuring
        7
    CHTuring  
       36 天前   ❤️ 1
    如果没用 typescript 的正常,如果用了 typescript 还不写类型的话,那就是前端脱裤子放屁了。
    murmur
        8
    murmur  
       36 天前
    ts 对于非专业前端是弊大于利,马上要加个参数那边要着急测试,你这还花半天时间找类型定义,烦都烦死了
    wooolf
        9
    wooolf  
    OP
       36 天前
    @yunlongV 就是想了解下 vue3 中的接口和 ts 的静态类型,在前端是不是主流写法。还是说目前还没推广开
    Curtion
        10
    Curtion  
       36 天前
    vue3 没有强制要求 ts
    wooolf
        11
    wooolf  
    OP
       36 天前
    @CHTuring 就是用了 ts 的
    xiangyuecn
        12
    xiangyuecn  
       36 天前   ❤️ 1
    这不就像 java 里面用 map 一把梭,有啥不习惯的🙂 java 返回 object ts 返回 any
    CHTuring
        13
    CHTuring  
       36 天前
    @wooolf #11 那是你们前端有问题
    IvanLi127
        14
    IvanLi127  
       36 天前
    不写接口和静态类型是指没有把每个 api 调用封装成一个方法和 anytype 吗?前者后端稳定可靠就没必要做,后者可能是人家根本不想用 ts 。
    yunlongV
        15
    yunlongV  
       36 天前
    @wooolf 通过配置 vue config 和 eslint 可以让不编写类型或者使用 any 类型无法进行编译的,具体还是要看公司规范。否则前端类型即便写错了或者全都写 any ,也可以进行正常编译与开发,甚至不影响功能,所以执行起来要看公司的规范。时间充足我会写详细的 ts 类型,层级太深的可能会用 any..我的同事的代码在打开 eslint 之后会通红一片..但是依旧不影响功能..这样我是不能接受的..起码要保证页面干净整洁
    yunlongV
        16
    yunlongV  
       36 天前
    之前在的一家公司..ts 全部用 any ,纯属脱裤子放屁,不知道用 ts 图什么。一般用 ts 但是写不好类型多半是水平问题..
    zhtyytg
        17
    zhtyytg  
       36 天前
    @yunlongV 同意,到处都是 any 和 elint ignore
    yzlren
        18
    yzlren  
       36 天前
    时间不够 any 来凑
    esee
        19
    esee  
       36 天前
    我用 ts 一是为了获得其他模块的类型提示,但是我自己写的部分用 any 是为了开发速度,开发过程删删改改太正常了,一开始就写类型限制了发挥,我都是项目或者功能模块基本完结后,最后再补充类型 和 完善注释。
    supuwoerc
        20
    supuwoerc  
       36 天前
    typescript❎anyscript✅
    wxw752
        21
    wxw752  
       36 天前
    我也偶尔兼职写写前端,必须 any 啊,方便,如果不想要 any ,领导可以找前端同事写😁
    as80393313
        22
    as80393313  
       36 天前
    给你们前端配置上接口生成器,配置好了不用写 TS 类型,接口也不用写了,直接生成接口,生成接口类型。
    https://github.com/ztz2/api-helper
    jaylee4869
        23
    jaylee4869  
       36 天前   ❤️ 1
    项目复杂,TypeScript 类型体操势必带来开发维护上的长尾效应,但这却与国内田园敏捷开发、急功近利的大环境相背。软件工程在国内没有被重视、工程人员在软件开发中的话语权偏低,导致货物场崇拜编程在国内大行其道,最终往往会把最优秀的一批程序员往国外赶。
    c332030
        24
    c332030  
       36 天前
    接手了别人写过的 ts 代码,能跑但是一堆标红警告,搞得重要的错误和警告看不到,我就换 js 了,有的依赖能用,但是 type 私有的,拿不到会标红,整的心累
    coolcoffee
        25
    coolcoffee  
       36 天前   ❤️ 1
    很多只做前端的同学是没有静态类型的意识的,会觉得静态类型的各种报错限制了他们的发挥。TypeScript 因为还要和 JavaScript 生态兼容,所以诞生了很多写法上手还是有点门槛的,我见过有的后端同学做前端也不愿意用 Typescript 。

    所以现在 Typescript 就成了很奇怪的现象,既想要别人写的代码和库必须要有类型,又不想自己写的这层被类型束缚了开发效率。

    我是已经养成了尽可能的靠强类型来提升代码健壮性和方便后续重构。最近几次栽跟头也是着急上线把类型没明确的地方写了个 any ,把类型理对的话开发过程中 Typescript 就已经会提示报错而不是等上线后知后觉了。
    jrtzxh020
        26
    jrtzxh020  
       36 天前
    开始的时候还好好定义类型,后面天天改需求改接口,只能 any 大法。。
    dfkjgklfdjg
        27
    dfkjgklfdjg  
       36 天前   ❤️ 1
    @wooolf #9 ,现阶段默认库和框架的开发会考虑 TS/JSDoc 。
    实际国内非大厂业务开发中默认不会使用 TS ,除非当前项目前端参与人员比较多和杂。

    ----
    至于项目用了 TS 有可能是开箱即用的框架带了 TS ,但是业务开发时选择开启了 `allowJS` 放弃了 TS 使用 JS 来开发。
    如果是 AnyScript 的话,那么就是前端组的问题了。
    erwsd32ew
        28
    erwsd32ew  
       36 天前
    写鸡毛 ts 浪费时间,开发团队人数没有过亿就不要用 ts 。
    horizon
        29
    horizon  
       36 天前
    @lscho #2
    你确定?
    typistyongxie
        30
    typistyongxie  
       36 天前 via Android   ❤️ 5
    看上面的评论 知道前端有多烂了吧
    DOLLOR
        31
    DOLLOR  
       36 天前   ❤️ 2
    所以你明白这几年所谓“前端从业者”所说的就业一片哀嚎了吧。
    都是只管自己方便,不管身后洪水滔天的人。
    就是这样水平的人大量混进来,这行业能过得好才怪。
    wooolf
        32
    wooolf  
    OP
       36 天前
    @xiangyuecn 哈哈哈 确实
    wooolf
        33
    wooolf  
    OP
       36 天前
    @coolcoffee 学习了
    CHTuring
        34
    CHTuring  
       36 天前   ❤️ 1
    上面那些说 any 的,如果你说部分 Error 用 any 或者深层的对象不想嵌套我还能理解,确实正常。

    如果平常代码都要写 any 你何必用 ts ?

    吃了伟哥、戴了套,结果你是打飞机?
    kuxuan
        35
    kuxuan  
       36 天前
    我用的 vue3 any 一把梭
    LandCruiser
        36
    LandCruiser  
       36 天前
    @coolcoffee 地上的金子你会嫌沉不捡回家吗?说白了用 TS 的收益小于付出,和什么静态类型意识毫无关系,现在谁还不会个两三门语言
    bojackhorseman
        37
    bojackhorseman  
       36 天前
    我最爱写类型了,至少 30% 的时间在写类型,类型写好了,后期维护爽的一批。
    coolcoffee
        38
    coolcoffee  
       36 天前
    @LandCruiser TS 的付出和收益针对不同场景的项目也是有不同的平衡点的。不是每个人都是高手,一次性把整个项目架构规划好几乎不大动的,如果上线之前先把架构考虑完美同样是收益小于付出的。

    不写类型的项目维护重构大部分时候都是灾难,这个时候 TS 的收益是大于付出的。

    如果是单人开发,一次性代码不在乎重构的当然是 js 写的快,这个时候 TS 就是纯负收益。
    lovelyxiaod
        39
    lovelyxiaod  
       36 天前
    没说法 有些人就是懒得学 还不如不用 ts
    powerman
        40
    powerman  
       36 天前
    @jaylee4869 99.9999%的代码 活不到需要改造的那天,即使有,如此低廉的劳动力成本,上千万难以就业的应届生,让他们吃点 any 的屎也不为过吧,反正又不是不能用,就去 any 里面 慢慢找吧
    runlongyao2
        41
    runlongyao2  
       36 天前
    写 TS 是为了维护方便,你们项目用了 TS ,但是不做类型标注,多半是项目一开始是用 TS 的,但是自己不会。
    leelotov2er
        42
    leelotov2er  
       36 天前
    没看懂,用 vue3 必须使用 typescript ?
    ns09005264
        43
    ns09005264  
       36 天前
    写类型花不了多少时间,带来的收益非常大,代码补全+字段报错,无法理解时间不够写类型的说法。
    lshbosheth
        44
    lshbosheth  
       36 天前
    看时间 给时间动脑 不给时间一把梭
    ZnductR0MjHvjRQ3
        45
    ZnductR0MjHvjRQ3  
       36 天前
    写前端是这样的,用 js 只需要无脑拉屎就行了,但是 ts 要考虑的事情就很多了。
    royzxq
        46
    royzxq  
       36 天前
    你们 any 一把梭的前端真的还挺猛的
    Huelse
        47
    Huelse  
       36 天前
    ts 作为团队协作的规范,当不遵守者越来越多时,这个项目就离屎山不远了,现实也是如此。

    不遵守规则的理由有很多,什么自由、原生、快速、一把梭啊,随之而来的代价也会在无形中产生。
    TomVista
        48
    TomVista  
       36 天前
    但是 anyscript 对比 javascript 没有缺点吧.
    yjw239
        49
    yjw239  
       36 天前
    经典的面向调试编程
    sampeng
        50
    sampeng  
       36 天前
    我司目前前端就是 any 一把梭。维护火葬场
    enjoyCoding
        51
    enjoyCoding  
       36 天前
    我好像被 ts 洗了脑了, 就感觉 ts 写东西还挺爽的, 主要爽在 copilot + 代码提示 写着写着就成 .+回车 or ,+tab 了 体验极好.
    zhouS9
        52
    zhouS9  
       35 天前
    好多后端程序员都觉得前端就是玩具语言,可以随便写的,你怎么正相反呢。。。本人前端
    ppooqq
        53
    ppooqq  
       35 天前
    @lscho 时间够的时候,可能先摸鱼了
    leokun
        54
    leokun  
       35 天前
    插个题外话,在模板语法中 ts 的语法感知和识别实在是太慢了
    vczyh
        55
    vczyh  
       35 天前
    @leokun 这是真的吗,没用过 Vue3 模板,一直在使用 React
    leokun
        56
    leokun  
       35 天前
    @vczyh 是真的,经常需要 command shift +p reload window 才行
    vczyh
        57
    vczyh  
       35 天前
    @leokun 是不是插件的问题,之前没刷到过这种问题。
    unco020511
        59
    unco020511  
       35 天前
    vue3 又不是必须用 ts
    yrj
        60
    yrj  
       35 天前
    @jrtzxh020 深表赞同
    treblex
        61
    treblex  
       34 天前
    我会处理定义类型可以明显提高效率的,比如某些用字符串比对的逻辑能改成 enum 的话,还是很好的
    其他情况下就处理一下爆红,该用 any 就 any
    X0V0X
        62
    X0V0X  
       34 天前
    2024 了,还在说用 TS 影响开发速度的,不如承认自己的无能。我目前的团队禁止 any ,用了构建都通不过,哪怕招外包也是要有 TS 经验的
    ruoxie
        63
    ruoxie  
       34 天前
    如果项目里用了 ts ,但是写成了 anyscript ,别说什么项目紧,都是人的无能。现在面试如果简历上写了项目用了 TS ,我都问如果后端 API 返回了 50 个字段,怎么写类型。有回答从来不给 API 返回值写类型的,有回答 any 的,有回答一个个手写的。但凡能回答能用工具处理或者自己写工具处理的,这种人招进来都不会差
    timczm
        64
    timczm  
       34 天前 via iPhone
    时间紧张肯定就这样了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2328 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 01:22 · PVG 09:22 · LAX 18:22 · JFK 21:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.