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

开发前一定要做好设计,第一次负责一个系统,因为设计排的时间太少,导致后期开发都是在修设计留的坑。

  •  1
     
  •   Renco · 2020-07-24 11:01:18 +08:00 · 5119 次点击
    这是一个创建于 1578 天前的主题,其中的信息可能已经有所发展或是发生改变。

    嗨,现在简直想把现在写的烂系统直接清空。

    38 条回复    2020-07-25 16:35:22 +08:00
    atonku
        1
    atonku  
       2020-07-24 11:11:53 +08:00   ❤️ 1
    想的很好,但是我敢保证下个系统还会有这个问题!因为产品经理只有一句话,我要一个 XXX,然后你们做吧,哈哈哈!🐶
    taodi
        2
    taodi  
       2020-07-24 11:16:50 +08:00
    嗯,如果是单纯产品角度的话 ,产品经理一句话之前设计的没准都要改,已经被坑过无数次
    faceRollingKB
        3
    faceRollingKB  
       2020-07-24 11:20:38 +08:00
    开始开发前,设计图、需求文档、接口文档一个不能少,说说看你们少了哪个?
    Renco
        4
    Renco  
    OP
       2020-07-24 11:21:39 +08:00
    @taodi 但是部门技术大佬现在的意思就是设计的时候不单要考虑需求一面,还要考虑扩展方向的一面,以防需求变动。这点对我来说真的好特么难,我连按照需求做的设计都会有一点梗。还是开发经验不足导致的= =
    Renco
        5
    Renco  
    OP
       2020-07-24 11:22:23 +08:00
    @faceRollingKB 我们这边没有什么设计图 接口文档,直接就是怼着需求做了。创业公司一直要求敏捷开发,但是我了解的敏捷好像不是这样的。
    Pu
        6
    Pu  
       2020-07-24 11:27:02 +08:00
    敏捷的意思是文档要快点写完( doge
    Renco
        7
    Renco  
    OP
       2020-07-24 11:27:29 +08:00
    现在就是自己的系统无数的坑,产品测试的很烦,我改 bug 改的也很烦。心很累= =
    zhw2590582
        8
    zhw2590582  
       2020-07-24 11:28:15 +08:00
    现实中很难顾及设计
    Renco
        9
    Renco  
    OP
       2020-07-24 11:29:14 +08:00
    我一直不懂为什么有业务需求,创业公司不肯多招人,产品就一个,兼顾测试。公司没有测试。然后后台一个系统一个人负责,ios 一人负责全部,app 一人负责全部。。。。我不太清楚招人花费的代价,但是这未免太吝啬了。
    forbreak
        10
    forbreak  
       2020-07-24 11:29:15 +08:00
    习惯就好了。。。后面发现烂系统,照样能跑。。。
    maigebaoer
        11
    maigebaoer  
       2020-07-24 11:30:19 +08:00 via Android
    又不是不能用
    wangxiaoaer
        12
    wangxiaoaer  
       2020-07-24 11:31:31 +08:00 via iPhone
    @faceRollingKB 你说的这些不可能有的,领导觉得小团队没能力搞这个,等搞完项目斗该验收了。
    arthas2234
        13
    arthas2234  
       2020-07-24 11:32:40 +08:00
    能做好设计的前提是需求明确,已经不止一次经历过做好设计以后需求频繁变动的情况了,有的时候还是大改,而且还要按时交付。你要说改动很大需要时间,人家会说没关系加加班嘛。你就会觉得哔了狗了,老子不玩了
    heiheidewo
        14
    heiheidewo  
       2020-07-24 11:40:49 +08:00
    一个系统拆分成多个模块,每个模块只负责独立的事情,这样就是写的再烂也容易修改复用
    magicfuzzx
        15
    magicfuzzx  
       2020-07-24 11:42:53 +08:00
    你这是理想情况下,实际情况下,大部分公司没时间给你搞这个
    faceRollingKB
        16
    faceRollingKB  
       2020-07-24 11:48:41 +08:00
    @Renco @wangxiaoaer 没有这些文档看起来省事儿,但这些该花的时间还是要在后面一点点补回来,而且还会浪费更多时间,这跟团队大小无关,你们领导是在掩耳盗铃
    HuHui
        17
    HuHui  
       2020-07-24 12:00:23 +08:00
    得看你领导愿意给你多少时间
    tabris17
        18
    tabris17  
       2020-07-24 12:04:40 +08:00   ❤️ 5
    你懂啥,这叫 Deadline-driven design
    ericls
        19
    ericls  
       2020-07-24 12:08:17 +08:00 via iPhone
    别想太多 很多东西就是很难预测 或者说预测的成本比遇到问题再解决的成本还高。只要选择是认真做了的 就不存在对还是错 别责怪自己

    吸取有用的经验就好了。
    Orenoid
        20
    Orenoid  
       2020-07-24 12:11:21 +08:00
    好设计不是你想弄好就能弄好的。。需要你对业务有相当高的熟悉度,并且大致知道未来会有怎样的需求,然后产品经理还不会拍脑袋提一些完全不兼容现有架构的功能。可扩展性永远都是相对的,只能在一定范围内实现可扩展,要做到完美的可扩展,那估计得设计一个强人工智能来负责实现功能了。
    Kirsk
        21
    Kirsk  
       2020-07-24 12:16:12 +08:00 via Android
    设计的前提是理解需求 如果需求模糊 尽可能拆分需求点进行开发 整个流程推倒重来不是新鲜事 敏捷是按团队实际情况减少沟通开发成本 比如我直接在原型上注明较复杂的业务理解 简单的同事能理解不需要 按页面给前端接口
    wangkun025
        22
    wangkun025  
       2020-07-24 12:30:32 +08:00
    对于周期的管理,天朝人普遍心态不行。计划一年的时候,压缩一下一个礼拜就做完。
    php01
        23
    php01  
       2020-07-24 13:07:09 +08:00
    这是项目管理的问题。小公司,小团队,注定做不好这一块,不然也不会有 pm 了
    gadsavesme
        24
    gadsavesme  
       2020-07-24 15:08:47 +08:00
    再好的设计也架不住需求的频繁变动,说白了一个好的项目不是只有开发水平高就可以的,是一大帮子人水平都比较高才行。
    des
        25
    des  
       2020-07-24 15:12:30 +08:00
    @tabris17 真 · DDD
    rabbitinhere
        26
    rabbitinhere  
       2020-07-24 15:18:55 +08:00
    楼主说得对!
    remarrexxar
        27
    remarrexxar  
       2020-07-24 15:46:03 +08:00
    遇到不懂技术的领导要求排时间至少按照 4 倍报,一半留给他压,一半留给自己改 bug 和还技术债。
    Acoolda
        28
    Acoolda  
       2020-07-24 15:51:26 +08:00 via Android
    小公司,能跑就行,业务为主,赚钱了再请大牛来设计
    mascteen
        29
    mascteen  
       2020-07-24 17:06:31 +08:00
    需求是第一步
    deweixu
        30
    deweixu  
       2020-07-24 17:21:23 +08:00
    软件工程告诉我们要
    需求规格说明书
    概要设计
    详细设计
    编码
    测试
    改 bug
    回归
    上线


    这些都
    Ritr
        31
    Ritr  
       2020-07-24 17:28:31 +08:00
    @atonku 先做出来看看再说吧
    BarZu
        32
    BarZu  
       2020-07-24 17:29:17 +08:00
    很正常的,我刚出来创业的时候,自己一个人,花 3 个月写的第一个系统,直接扔了,又花了 3 个月做的一个系统,勉强能用,第 3 个系统只花了一个月,卖了一万多块,第 4 个系统我已经很熟练了,目前在带团队做新系统,日,个人开发的经验不够用,又要骂街了
    redford42
        33
    redford42  
       2020-07-24 17:37:05 +08:00
    再好的设计也架不出需求全改
    xkzhangsan
        34
    xkzhangsan  
       2020-07-24 21:01:55 +08:00 via Android
    非常赞同!
    xkzhangsan
        35
    xkzhangsan  
       2020-07-24 21:07:31 +08:00 via Android
    @redford42 改需求,小改可以,如果大改那就另说了
    EdwardXia
        36
    EdwardXia  
       2020-07-24 21:19:53 +08:00
    我现在的公司也这样,还是个央企,软件工程的概念真的需要普及一下,没有文档指导浪费太多时间了。
    594duck
        37
    594duck  
       2020-07-24 21:24:50 +08:00
    @Renco 因为你是创业公司,所以必须人贵人精。所以你认为产品一个 20 万 /年,IOS 一个 20 万 /年,APP 一个 20 万 /年,后台一个 30 万 /年。
    abersheeran
        38
    abersheeran  
       2020-07-25 16:35:22 +08:00
    哈哈哈。同意。我们之前有一个项目,一开始的设计全是我操持的。过了一年没碰之后突然要小修改,照样很容易上手。相比之下,之前另一个我全程没太管的项目,基本没法维护了。设计真的重要
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3616 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 04:33 · PVG 12:33 · LAX 20:33 · JFK 23:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.