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

一直在不规范的小公司工作,不太清楚正常的开发流程,请问接口都是后端定义写好文档给前端再开发的吗?

  •  
  •   erisfloralia · 2021-01-29 21:08:25 +08:00 · 3581 次点击
    这是一个创建于 1155 天前的主题,其中的信息可能已经有所发展或是发生改变。

    拿到一个写得很潦草的原型跟数据表设计,作为后端还要查缺补漏,帮他们改好原型和和数据表结构,前端又一直催接口文档,个人能力有限,开发的接口老是想得不够全面,导致改来改去的,跟不上进度,我有点遭不住了。正常的开发流程到底是怎么样子的?求各位大佬轻喷。

    第 1 条附言  ·  2021-01-30 19:02:39 +08:00
    数据库设计是之前一位离职的大佬搞的,不是产品搞的,新的原型不带这个了。 = = 大家别关心这个了
    26 条回复    2021-01-31 12:06:22 +08:00
    imdong
        1
    imdong  
       2021-01-29 21:16:51 +08:00
    能给数据表就不错了,我们都是产品丢个原型给我,我就看着原型琢磨流程设计数据库。

    不过吧,我估摸着产品给的数据表设计仅供参考吧,还是要自己设计的。

    至于想得不够全面的问题,大概率是缺少经验吧。
    terrytang1
        2
    terrytang1  
       2021-01-29 21:17:31 +08:00
    流程每个公司不一样,但是改来改去就很正常了
    vtwoextb
        3
    vtwoextb  
       2021-01-29 21:19:17 +08:00
    这样比较规范,对后续开发起来很有帮助,设计前尽可能的想好设计方案,中间的小改动肯定是有的
    chinvo
        4
    chinvo  
       2021-01-29 21:22:55 +08:00
    一般是原型图出了之后, 后端和前端约定接口规范, 然后各做各的. 进展都差不多了进行调试
    xuanbg
        5
    xuanbg  
       2021-01-29 21:28:00 +08:00
    不够全面是什么意思?
    wolfie
        6
    wolfie  
       2021-01-29 21:30:35 +08:00
    要是接口经常被打回,就拿着接口设计 跟前端聊 行不行,还差什么。最后再开发。
    产品竟然还有能力给表结构。
    cccp2020
        7
    cccp2020  
       2021-01-29 21:31:14 +08:00
    边开发边写文档
    erisfloralia
        8
    erisfloralia  
    OP
       2021-01-29 21:32:53 +08:00
    @xuanbg 就是会有一些接口设计上的 bug,或者原型的设计用户使用起来体验极差的,甚至有隐藏 bug,只能否决掉的,我之前没有想到这种坑,直接按照原型写了。
    erisfloralia
        9
    erisfloralia  
    OP
       2021-01-29 21:37:33 +08:00
    @wolfie 其实产品也写代码,不过写的不多,写一些简单的代码。数据库表结构有时会没有,不是产品写的,是另外一个大佬离职之前写的,新写的原型就没了。
    erisfloralia
        10
    erisfloralia  
    OP
       2021-01-29 21:45:28 +08:00
    @imdong
    @vtwoextb
    @chinvo
    @xuanbg 好,谢谢各位的回复
    danielzh
        11
    danielzh  
       2021-01-29 21:53:51 +08:00
    个人看法,仅供参考。
    1 、接口不全,前后端都有责任。但是一般如果是后端主导技术和交互方案的话,还是需要后端有一定经验,考虑好产品实现细节。
    2 、前端一般可以等后端接口出来再做。
    3 、对于比较大的功能或交互方案不一定能达成一致的,后端在接口设计阶段,就可以找前端沟通初步的接口设计和交互方案,确定后再出详细的接口文档。
    GameSheep
        12
    GameSheep  
       2021-01-30 00:05:52 +08:00
    接到需求的时候,就会前后端一起过业务流程,出一个数据库设计,后端也要了解前端需求和操作。
    然后前后端开始开发,后端写接口实现逻辑,前端写页面调试样式。基本上这时候对业务有了更深的了解,接口有改动很正常。
    想的不够全面,如果是需求没吃透那就多沟通,后端开发还是容易点的,不换框架,来来回回都是那些东西
    laminux29
        13
    laminux29  
       2021-01-30 00:24:28 +08:00
    1.开发的本质,是解决需求。只要需求被解决了,就是好产品。

    2.如果公司只是经常做短平快的小型开发,不建议你过多去了解其他内容,容易跑偏。这种情况下,集中精力去解决需求会更好。

    3.不过,一旦公司要开始做大中型系统,需求规模变大后,那么,解决需求的效率,以及产品自身的管理,会逐渐成为问题,这会牵扯出一堆管理问题。

    软件工程就是这些管理问题的总结与经验,如果你是属于这种情况,建议找几本软件工程的教材好好看看,这些内容比较多,帖子里写不下。
    msg7086
        14
    msg7086  
       2021-01-30 10:57:01 +08:00
    我前后端都写,主要写后端。最近一个项目就是我和另一个开发一起写,我写前端他写后端。我们是确定需求以后我先写一版协议,因为是参考 RESTful 所以基本没啥好争的。然后我们一起写代码,写完以后联合测试,再根据测试出来的结果改协议。
    guyeu
        15
    guyeu  
       2021-01-30 11:12:23 +08:00
    一般是前后端商量好接口之后分别开发吧,一般是后端写接口文档,但也不是说后端一手包办。。
    ininjue
        16
    ininjue  
       2021-01-30 13:21:57 +08:00
    最近在尝试前端写接口文档,后端按文档开发,不知道能不能好使。

    原因是我这边后端进度实在太慢了,出的接口文档也经常少字段扯皮严重,我前端先搞出来接口文档,然后直接写一些 mock 数据就开发了,一气呵成,需要啥直接加 mock 数据就行了,写完上测试环境让后端慢慢调去吧。

    还不知道会遇到哪些问题
    hxndg
        17
    hxndg  
       2021-01-30 13:45:23 +08:00
    “满足需求就够了”我倒是见过几个代码满足需求,但是抽象层面不到位,层次不同的代码放一块
    最后不得不折腾好几个月重构的例子。

    好产品必须得是可发展的,可发展就意味着迭代,初代的风格会很影响后续开发。

    某个正在重构代码,一个劲 wtf,wtf,wtf is this shit?!的人留
    raaaaaar
        18
    raaaaaar  
       2021-01-30 14:56:34 +08:00
    产品给原型图,后端自己琢磨写接口文档,写完之后大概让前端看一下,然后前后端并行一起写,写的过程中一般遇到问题就会交流,问需求自己理解是否到位,某个接口是否完善等等,之后写完后再对接。我自己的经验只是一些小型的产品,因此流程上肯定比不上那些大公司的,但是我认为最重要的是沟通,前后端之间的沟通,和产品间的沟通,遇到问题一定要问,看自己对需求,功能的理解是否到位,即时更改,这才是最重要的,因为无论什么流程都不可能一次性就完美的,肯定是不断修改,动态的一个过程。
    Huiao
        19
    Huiao  
       2021-01-30 16:04:40 +08:00
    我所在的不规范的小公司产品连原型图都不出,他把设计的任务交给 UI,得我主动去和产品聊需求或者大家拉到一起开会聊需求,聊完需求 UI 画出几个页面,然后我后端梳理字段建表写接口文档,再和前端讨论
    lancelock
        20
    lancelock  
       2021-01-30 16:08:27 +08:00 via iPhone
    你们表结构是产品设计的?
    erisfloralia
        21
    erisfloralia  
    OP
       2021-01-30 18:50:38 +08:00
    @lancelock 另外一个大佬离职之前写的,新写的原型就没了。
    erisfloralia
        22
    erisfloralia  
    OP
       2021-01-30 19:01:04 +08:00
    @danielzh
    @GameSheep
    @laminux29
    @msg7086
    @guyeu 请问在开发流程中小组的 Leader 一般处于啥角色,这种前后端开会讨论接口他会主导进行技术审查之类的吗
    han0101
        23
    han0101  
       2021-01-30 19:17:52 +08:00
    后台才知道数据结构,所以后台根据需求写接口文档。文档好了跟前段碰一下,补充修改。然后各自开发,开发过程中再完善逻辑。
    jones2000
        24
    jones2000  
       2021-01-30 21:31:52 +08:00
    先确定前端要做几个页面, 每个页面 UI 定下来, 然后根据每个页面需要的数据, 后台开发数据接口。接口一般都是技术负责人定义好的,然后前后台根据接口定义,同步开发就可以了。
    msg7086
        25
    msg7086  
       2021-01-31 03:14:56 +08:00 via Android
    @erisfloralia 看具体情况吧。我们的 leader 在设计阶段基本不管,但是代码和成品还是要审的。
    tony1890
        26
    tony1890  
       2021-01-31 12:06:22 +08:00
    产品->需求评审->后端数据库评审->前后端各自开发联调。

    唯一的问题是,接口文档得等接口出来才会有(因为文档是根据接口注释生成的)。所以前端很被动。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2811 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:41 · PVG 22:41 · LAX 07:41 · JFK 10:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.