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

公司招的 1w 多的前端,写出的代码,让我这个后端无言以对

  •  3
     
  •   lovescar · 2019-05-05 14:40:50 +08:00 · 10536 次点击
    这是一个创建于 2016 天前的主题,其中的信息可能已经有所发展或是发生改变。

    坐标天津 直接看图吧 图片

    第 1 条附言  ·  2019-05-05 15:17:41 +08:00
    更新一下:看了大家的回复,觉得自己做的不对,他代码写的确实不错,值得我这种菜鸡后端学习,而且当时和前端交流时,只是告诉他做个校验,没有告诉他做非空校验,不需要提示出来用户名密码是啥。还有下次一定好好分析接口代码,做个合格的后端😜😜😜
    76 条回复    2019-05-07 17:26:19 +08:00
    zaima
        1
    zaima  
       2019-05-05 14:42:57 +08:00
    图裂了
    programHui
        2
    programHui  
       2019-05-05 14:45:11 +08:00
    图炸了
    yjmhero007
        3
    yjmhero007  
       2019-05-05 14:47:08 +08:00
    fighterlyt
        4
    fighterlyt  
       2019-05-05 14:47:09 +08:00   ❤️ 2
    就你这贴图的本事,让其他观众无言以对
    Patrick95
        5
    Patrick95  
       2019-05-05 14:47:43 +08:00
    哈哈哈哈哈哈直接提示账号密码是 admin ?屎一样的代码。

    PS:图裂是因为新浪图床防盗链了。
    Sanko
        6
    Sanko  
       2019-05-05 14:47:45 +08:00 via Android
    贵公司还招前端吗?我可以去学
    lovescar
        7
    lovescar  
    OP
       2019-05-05 14:50:27 +08:00
    @zaima 我错了,下次换个图床
    lovescar
        8
    lovescar  
    OP
       2019-05-05 14:50:38 +08:00
    @fighterlyt 没经验
    wizardoz
        9
    wizardoz  
       2019-05-05 14:51:13 +08:00
    这能说明啥?这明显不是他的最终代码……
    也许他只是想先调一下错误提示样式,等业务上确定了提示的内容和提示方式以后,才能真正放入提示逻辑。
    我觉得这是一个有自己开发方法的前端
    yuezhengling
        10
    yuezhengling  
       2019-05-05 14:51:17 +08:00 via Android
    [img] [img]


    不用谢
    shawshi
        11
    shawshi  
       2019-05-05 14:51:20 +08:00
    这代码完全没毛病,Demo 代码不都这样么?
    dingyaguang117
        12
    dingyaguang117  
       2019-05-05 14:51:43 +08:00
    这有点断章取义吧, 也许是因为 lz 后端接口没搞定,前端写些填充代码呢
    lovescar
        13
    lovescar  
    OP
       2019-05-05 14:52:32 +08:00
    @shawshi emmm 给公司行政用的系统,行政说了,这系统好,不怕忘记密码
    Mithril
        14
    Mithril  
       2019-05-05 14:53:50 +08:00
    @lovescar 这个账号和密码感到很悲伤,因为自己完全没有存在的价值。
    lovescar
        15
    lovescar  
    OP
       2019-05-05 14:54:28 +08:00
    @wizardoz 给我的就是他的最终版了
    learnshare
        16
    learnshare  
       2019-05-05 14:55:13 +08:00   ❤️ 2
    @lovescar 不如去掉账号验证算了
    zzNucker
        17
    zzNucker  
       2019-05-05 14:55:47 +08:00
    看到这代码我是想先吐槽楼主公司的系统这么屎
    tianxia
        18
    tianxia  
       2019-05-05 14:55:56 +08:00 via Android
    一点毛病都没有
    Tink
        19
    Tink  
       2019-05-05 14:57:23 +08:00
    没毛病,行政一般都希望 admin/admin
    yalin
        20
    yalin  
       2019-05-05 14:57:36 +08:00   ❤️ 1
    本是同根生
    doco
        21
    doco  
       2019-05-05 14:59:26 +08:00
    这个代码如果真的这个逻辑的话还可以优化吧...
    verifyAccount 和 verifyPwd 改一下再在 submit 里直接调用就可以了吧
    supuwoerc
        22
    supuwoerc  
       2019-05-05 15:00:11 +08:00
    都 return 了为啥还要 else 啊。。。
    sunjourney
        23
    sunjourney  
       2019-05-05 15:00:39 +08:00
    这不是 PM 的锅吗? PM 也许就是这么要求的。。如果不是,贵司问题大得老去了
    tianxia
        24
    tianxia  
       2019-05-05 15:01:04 +08:00 via Android   ❤️ 1
    人家还用 vue 做,敢问你后端用的是什么?
    zzNucker
        25
    zzNucker  
       2019-05-05 15:02:37 +08:00
    @doco 我也这么想的,不过我感觉这个系统反正也没啥逻辑,开发估计就是直接拷贝粘贴拉倒了。
    chinesestudio
        26
    chinesestudio  
       2019-05-05 15:02:40 +08:00 via Android
    内部非技术人员用 正常的很 简单粗暴 他们只管用起来舒服 不管怎么实现
    tianxia
        27
    tianxia  
       2019-05-05 15:03:39 +08:00 via Android
    @supuwoerc 看清楚,不 return 就继续往下走了
    paloalto
        28
    paloalto  
       2019-05-05 15:04:03 +08:00
    说下我的观点,

    优点:首先他知道面向对象编程,而且代码逻辑很明白,即使是小白都能懂,以后别人接手修改时就没有难度;其次,代码规范不错,空格、标点、换行、驼峰命名都没毛病,甚至能用 !== 而不是 != ,很不错了。

    唯一的缺点,可能就是没有做到代码复用。submit() 里的那俩判断其实可以通过给上面的俩方法参调用来简化。
    ThomasZ
        29
    ThomasZ  
       2019-05-05 15:04:47 +08:00 via Android
    @supuwoerc 好好审题,认真看图
    stiekel
        30
    stiekel  
       2019-05-05 15:04:51 +08:00
    @supuwoerc submit() 中第一个 return 是没有问题的,用户名错了直接就不检查密码了。
    axwz88
        31
    axwz88  
       2019-05-05 15:06:12 +08:00 via Android
    @supuwoerc 满足 if 条件才 return,不满足就 else
    st2udio
        32
    st2udio  
       2019-05-05 15:07:18 +08:00
    这明显是别人要求这样做的吧,内网部署,不是很重要之类的。

    总不能他自己想的这种需求?
    supuwoerc
        33
    supuwoerc  
       2019-05-05 15:07:42 +08:00
    呜呜呜,我错了,习惯性的不写 else,每次都是 return 解决~ 下次一定审题
    binux
        34
    binux  
       2019-05-05 15:09:05 +08:00
    你们难道就没想过这个问题吗?
    前端为什么要验证账号密码?
    lovescar
        35
    lovescar  
    OP
       2019-05-05 15:10:49 +08:00 via Android
    @st2udio 我就是哪个后端,我告诉他做个校验,没了
    lovescar
        36
    lovescar  
    OP
       2019-05-05 15:12:11 +08:00
    @binux 前端为什么不能校验非空
    tianxia
        37
    tianxia  
       2019-05-05 15:12:27 +08:00 via Android
    @binux 因为后端要求,哈哈
    lovescar
        38
    lovescar  
    OP
       2019-05-05 15:12:30 +08:00
    @tianxia .netcore
    daydaydayup
        39
    daydaydayup  
       2019-05-05 15:12:34 +08:00 via iPhone
    为何不是后端去验证返回验证错误码?
    lovescar
        40
    lovescar  
    OP
       2019-05-05 15:14:28 +08:00
    @daydaydayup 这个逻辑有呀
    phxsuns
        41
    phxsuns  
       2019-05-05 15:17:23 +08:00
    这个代码是很屎。。。
    and
    我感觉你们前后端的实现方案也是有问题的。。。
    123s
        42
    123s  
       2019-05-05 15:18:58 +08:00
    你是看不起 vue 写得辣鸡吗?
    shawshi
        43
    shawshi  
       2019-05-05 15:21:01 +08:00
    @lovescar 你看着功能都得到别人的一直好评了,说明这个代码很优秀。
    EulerChen
        44
    EulerChen  
       2019-05-05 15:21:36 +08:00
    歪个楼:

    前后端互看不爽,都举得这么简单的事情应该是对方做,以免污染了自己的代码……

    所以前后端还是都自己干吧……

    不要跟我说没精力,这是技术架构的问题,本来前后端就不应该分得太清楚
    lovescar
        45
    lovescar  
    OP
       2019-05-05 15:24:51 +08:00
    @shawshi 也就是说,没有开发业务经验,只要代码优秀就可以咯。了解了
    mars0prince
        46
    mars0prince  
       2019-05-05 15:27:09 +08:00
    我只想知道你为啥知道前端的薪资
    shawshi
        47
    shawshi  
       2019-05-05 15:28:35 +08:00
    @lovescar 前端 感觉用户体验优先。后端注意自己的参数校验和业务逻辑。
    huijiewei
        48
    huijiewei  
       2019-05-05 15:30:47 +08:00
    反正这种代码我是看着难受。。。

    return else 什么的 ,同样的代码写 2 遍。看着难受
    lovescar
        49
    lovescar  
    OP
       2019-05-05 15:32:15 +08:00
    而且无言以对,并不是觉得他写的不好,真的只是无言以对
    LaplaceTransform
        50
    LaplaceTransform  
       2019-05-05 15:34:06 +08:00
    如果不是有人强烈要求这样提示的话,我觉得这代码写的有点置气的意思了。
    janxin
        51
    janxin  
       2019-05-05 16:03:17 +08:00
    这系统为什么要做登录啊,直接打开就能用不好吗
    DOLLOR
        52
    DOLLOR  
       2019-05-05 16:07:58 +08:00
    @lovescar
    你不应该怪开发,应该怪奇葩的需求
    WordTian
        53
    WordTian  
       2019-05-05 16:15:03 +08:00 via Android
    说下我的看法🤔
    为什么不直接把用户密码填充好呢?
    简单省事,点击登录就行了,还要绕个圈子
    meteor957
        54
    meteor957  
       2019-05-05 16:15:07 +08:00
    内容就不评价了,『公司招的 1w 多的前端』 这什么鬼?
    s112
        55
    s112  
       2019-05-05 16:15:48 +08:00
    这个时候就体现出薪资保密的重要性了
    meteor957
        56
    meteor957  
       2019-05-05 16:16:29 +08:00
    『公司招的 1w 多的前端』 跟你想表达的东西有什么关联吗
    smiledoll
        57
    smiledoll  
       2019-05-05 16:23:38 +08:00 via Android
    把业务实现就好了。为啥还会在意代码质量。这代码是可以继续优化,不过功能就是这么简单实现了不就好了嘛。要不你教一下他怎么写嘛。
    niguyi
        58
    niguyi  
       2019-05-05 16:31:09 +08:00
    文人相轻?
    都是领工资的,说的好听点是程序员。
    orqzsf1
        59
    orqzsf1  
       2019-05-05 16:35:43 +08:00
    楼主怎么知道前端的薪资的,没有保密吗
    lovescar
        60
    lovescar  
    OP
       2019-05-05 16:51:44 +08:00
    @orqzsf1 难道你就不知道公司其他人的薪资么?
    jevirs
        61
    jevirs  
       2019-05-05 16:52:35 +08:00
    其实都是需求的锅,不要起内讧,这段代码没有复用验证可以轻喷,其他挺好啦
    lovescar
        62
    lovescar  
    OP
       2019-05-05 16:56:53 +08:00
    @jevirs 搞不懂做个非空校验,有必要这么写么,而且当时就交付了,交付给我用户名为 admin ,到你手里,我不知道你会不会觉得写的不错,但是一言难尽呢
    Cloutain
        63
    Cloutain  
       2019-05-05 17:24:12 +08:00
    没 JB 说个图ε=ε=ε=┏(゜ロ゜;)┛
    lovescar
        64
    lovescar  
    OP
       2019-05-05 17:36:23 +08:00
    @Cloutain 没 jb 不能说么
    DAMNYOU
        65
    DAMNYOU  
       2019-05-05 17:40:41 +08:00
    这个是不是得先看 是不是需求比较奇葩。。

    ps 我看不懂代码 哈哈
    catinsides
        66
    catinsides  
       2019-05-05 17:52:07 +08:00
    所以说不能打听别人工资,比你多比你少心里都不舒服.
    abc612008
        67
    abc612008  
       2019-05-05 18:00:52 +08:00   ❤️ 1
    @tianxia
    @stiekel
    @axwz88
    @ThomasZ
    可能问的是为什么有 return 了还写 else。
    比如
    ```
    if(something()){
    // do A
    return;
    }else{
    // do B
    }
    ```

    ```
    if(something()){
    // do A
    return;
    }
    // do B
    ```
    的区别。不少 IDE 都会提示使用下面的写法的吧。
    shuax
        68
    shuax  
       2019-05-05 18:14:15 +08:00
    所以为啥要账号密码,看着爽?
    dfjslkjdf
        69
    dfjslkjdf  
       2019-05-05 18:54:20 +08:00
    是不是没什么水平的人都喜欢满瓶子不响,半瓶子咣当?

    lz 这种口吻我看不像是科班出身的,倒想是培训班出来的,不知道我猜测的对不对?
    给我的感受就是,一个木匠吹嘘自己了不起,为什么了不起?我一分钟能敲个 72 个钉子,他只能敲 60 个。
    给人一股没见过世面的感觉。
    dfjslkjdf
        70
    dfjslkjdf  
       2019-05-05 18:57:56 +08:00
    真的,咱们要说也说点高大上的东西,比点真正能代表程序员水平的东西,
    谈点架构,编程技巧,可读性提升之类的,
    毕竟自认是工程师,
    自嘲是码农,就真把自己当农民了,比起我比你插秧快多少多少,
    觉得鄙薄无知,这就是我的感受。
    jimliang
        71
    jimliang  
       2019-05-05 19:17:26 +08:00
    水份很大啊。相同的逻辑在不同人上实现的风格都不同,特别是像 js 这种灵活性很大的语言
    wly19960911
        72
    wly19960911  
       2019-05-05 21:02:11 +08:00
    我有个业务问题问问,

    this.account !== 'admin' 才报错,等于的时候不报错,这个是什么业务?

    而且这代码没问题,逻辑简单,也没什么冗余或者特别的东西,这样挺好的啊。
    Wolfsin
        73
    Wolfsin  
       2019-05-05 21:33:36 +08:00
    @wly19960911 #72 登陆提示?登陆不进去就直接告诉你账号和密码吧
    msg7086
        74
    msg7086  
       2019-05-06 02:26:25 +08:00
    @abc612008 只是体现出了 v2 中一部分人的水平而已,看过笑过就行了,我都不想去提……
    laodao
        75
    laodao  
       2019-05-06 13:37:40 +08:00
    这是业务逻辑问题,业务逻辑正常情况下是产品去梳理,包括提示内容按理都是产品给的。你没给他详细业务逻辑,每个人对业务逻辑实现有自己的理解。另外可能你俩沟通问题,或者分工问题,有的公司前段只写页面,js 逻辑也是后段写的。
    lingxipaofan
        76
    lingxipaofan  
       2019-05-07 17:26:19 +08:00
    感觉是需求有点乱
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2724 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:26 · PVG 15:26 · LAX 23:26 · JFK 02:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.