开发前一定要做好设计,第一次负责一个系统,因为设计排的时间太少,导致后期开发都是在修设计留的坑。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Renco
V2EX    程序员

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

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

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

    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
    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
    对于周期的管理,天朝人普遍心态不行。计划一年的时候,压缩一下一个礼拜就做完。
    anteros
        23
    anteros  
       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     Solana     2536 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 04:11 PVG 12:11 LAX 20:11 JFK 23:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86