V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
beryl
V2EX  ›  程序员

开发前真的会画详细的 UML 图么

  •  1
     
  •   beryl · 2020-07-31 15:08:49 +08:00 · 4968 次点击
    这是一个创建于 1605 天前的主题,其中的信息可能已经有所发展或是发生改变。

    技术评审或者开发前,设计模块和类比较多(十几个方法)真的会画 uml 类 图么

    20 条回复    2020-08-01 21:22:29 +08:00
    saberlong
        1
    saberlong  
       2020-07-31 15:13:25 +08:00 via Android
    类画主要的,帮助表达层次关系和依赖关系。
    时序图画,帮助验证设计的细节问题。
    存在复杂的状态变化时,状态机也画。
    Keyes
        2
    Keyes  
       2020-07-31 15:15:12 +08:00 via iPhone
    ui 图肯定是要有的
    其次基本逻辑图要有
    uml 脑补好了 hhh
    hhhsuan
        3
    hhhsuan  
       2020-07-31 15:19:16 +08:00
    不画,浪费时间,如果到了需要画图才能理清类关系的话,你更需要的是重构
    1490213
        4
    1490213  
       2020-07-31 15:21:29 +08:00 via Android   ❤️ 2
    复杂的都要。
    我们这边需要写设计文档,主要内容为需求 /性能指标 /正常和风险场景,接口和数据结构,方案选型,结构,处理流程,安全编码等,其中很多地方都涉及到 UML 类图,数据流图,时序图等。
    beryl
        5
    beryl  
    OP
       2020-07-31 15:22:28 +08:00
    @saberlong
    @1490213
    那这个一般预留多长时间亚奥
    1490213
        6
    1490213  
       2020-07-31 15:28:03 +08:00 via Android
    简单的说就是取决于复杂度,修个十层建筑如果不画设计图谁敢住?但野外搭个小棚子还画图的不是蠢就是傻了。
    abuzzworld
        7
    abuzzworld  
       2020-07-31 15:31:12 +08:00
    看够不够复杂了
    lxlx1991
        8
    lxlx1991  
       2020-07-31 15:55:28 +08:00   ❤️ 1
    我是会画的,会帮助我分析设计、边界、分层是否合理;核心、细节是否分离;变与不变的地方、扩展性是否考虑到等等。
    设计完类图后,此时甚至不需要考虑数据存储等一系列外围细节,可以直接通过核心接口及其关联来进行核心架子编写、逻辑验证、单元测试。
    所谓的测试驱动、领域驱动开发,都可以在这里实践。

    建议你看看《 Clean Architecture 》 这本书
    594duck
        9
    594duck  
       2020-07-31 16:06:35 +08:00 via iPhone
    @hhhsuan 厉害了。这话讲的,别说大的电商项目了。就是正规的物流项目和心都要画画 uml 。普通核心系统架构组还是要画 UML 的
    FallenTy
        10
    FallenTy  
       2020-07-31 16:18:57 +08:00
    看项目复杂程度
    catzilla
        11
    catzilla  
       2020-07-31 17:01:53 +08:00
    如果你算一道题,不需要在草纸演算,就不必

    不过你的产品手册应该要画的吧~
    pinews
        12
    pinews  
       2020-07-31 17:04:13 +08:00
    @lxlx1991 其实是一个经验问题,如果不说大家都懂就没必要,如果你自己都不懂,那就不是画图的问题了,画图就是画关键点,你知道这个地方容易出问题,你知道有人需要清晰的表达,那就画。
    如果大家也不知道需要不需要,那就是专业不专业的问题。
    不专业的时候,要么自己吃亏,要么挨埋怨。
    lxlx1991
        13
    lxlx1991  
       2020-07-31 17:29:29 +08:00
    @pinews 如果大家的水平、认知一致或相差不多,三言两语就可以沟通明晰,确实没必要画那么细,挑重点即可。
    不过我身边大部分人是没想清晰就开搞,多人一起合作时如果不画,最终的产出我个人是看不下去的。

    对我个人来说,现在画不画已经不是重点,前期画那么多思路已经成型。就像你说的,只有在真的需要向人明确表达时,才会画出来。

    把自己变得专业比和一群人和稀泥好。
    fengjianxinghun
        14
    fengjianxinghun  
       2020-07-31 18:07:17 +08:00
    不画,浪费时间。需要写文档和画图才能搞清楚的,你还是多想想。
    acthtml
        15
    acthtml  
       2020-07-31 18:17:56 +08:00
    太 TM 有用了,特别是跟人沟通的时候。
    saberlong
        16
    saberlong  
       2020-07-31 19:00:23 +08:00 via Android
    @beryl 小的迭代更新,大多不画。开发设计人员讲下方案,负责人确认下就好。新的系统设计和大版本升级,我遇到的都是给定足够宽裕的时间,设计完成后系分评审通过后才进行具体的排期。所以不适合赶工期的。赶工期的,都是临时补丁方案
    nicevar
        17
    nicevar  
       2020-07-31 19:08:48 +08:00
    看项目,100w 的项目上报价 1000w 时,各种 xx 图都是优美的,看微软给国企做项目就知道了
    SakuraOjosama
        18
    SakuraOjosama  
       2020-08-01 00:55:10 +08:00
    入职以来。。。没画过,没见过,有的只是策划的脑洞+UI 的设计
    vilic
        19
    vilic  
       2020-08-01 19:12:00 +08:00
    我发现很多时候一些经验没有我丰富的同事甚至是我手把手交出来的老婆来画这些图做设计或者代码结构梳理都比我强,我很少觉得画这些图真的有帮助(时序图可能算个例外)。我现在的经验是,如果一个设计已经复杂到需要画图来梳理了,那最好还是写一部分算一部分,一边写一边更具实际遇到的问题进行重构。当然大块儿的拆分还是可以提前规划好的。
    dxcqcv
        20
    dxcqcv  
       2020-08-01 21:22:29 +08:00
    我觉得有必要画,方便自己理思路
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2620 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 154ms · UTC 10:48 · PVG 18:48 · LAX 02:48 · JFK 05:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.