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

好奇你们现在写代码之前还画流程图吗

  •  5
     
  •   cstj0505 · 2019-05-05 13:55:51 +08:00 · 12621 次点击
    这是一个创建于 2016 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近发现有状态转换的时候,不靠流程图逻辑根本理不清楚,可能脑容量太小。 然后就是系统设计的时候,模块之间相互依赖也要画。

    72 条回复    2019-05-07 03:07:08 +08:00
    DANG
        1
    DANG  
       2019-05-05 14:02:09 +08:00   ❤️ 7
    别怕别人笑话,也没人笑话,该画就画,含糊不得
    ChoateYao
        2
    ChoateYao  
       2019-05-05 14:06:45 +08:00
    好记性不如烂笔头。
    记不住、理不清就画,这样子对于脑袋来说有一个直观的反馈。
    rock_cloud
        3
    rock_cloud  
       2019-05-05 14:08:06 +08:00   ❤️ 1
    画,之前画了个流程图,打印出来一张 A2 那么大,画完之后,发现了好几个 bug
    loading
        4
    loading  
       2019-05-05 14:08:20 +08:00 via Android
    菜鸟和大拿都画,不画的都是中等水平的。
    lzxz1234
        5
    lzxz1234  
       2019-05-05 14:08:33 +08:00
    状态转换太多的的话考虑下工作流,否则就算画了流程图也没用,时间长了没人能清楚知道加一个状态都会影响到哪
    ninestep
        6
    ninestep  
       2019-05-05 14:10:47 +08:00   ❤️ 1
    不光画流程图,任何脑海中的东西都希望形成文档
    freedomshi
        7
    freedomshi  
       2019-05-05 14:13:36 +08:00   ❤️ 1
    大部分的人写代码都是操作数据库和输出 json,你说需要画图吗?
    zycpp
        8
    zycpp  
       2019-05-05 14:17:41 +08:00 via iPhone
    简单逻辑的不画。
    太复杂的,自己都记不住,过几天就忘了,不画不行
    cstj0505
        9
    cstj0505  
    OP
       2019-05-05 14:21:01 +08:00
    @rock_cloud 哈哈,我曾经也和你一样。
    特别复杂逻辑,不画清楚真不怎么敢写
    L3au
        10
    L3au  
       2019-05-05 14:22:03 +08:00   ❤️ 1
    设计先行,编码在后
    mogutouer
        11
    mogutouer  
       2019-05-05 14:28:00 +08:00
    不要为了画图而画图就行
    wu67
        12
    wu67  
       2019-05-05 14:28:53 +08:00
    能用膝盖想清楚的都不画. 想不清楚的就默默从包里掏出钢笔...(我指垃圾前端 curd)
    charten
        13
    charten  
       2019-05-05 15:57:31 +08:00
    我不画的话,写出来的代码连我自己都觉得难维护
    ccming
        14
    ccming  
       2019-05-05 16:07:01 +08:00
    作文都会写, 会写小说的是作家, 作家有一二三四五六流, 不知道作家怎么构思故事线的.
    ylsc633
        15
    ylsc633  
       2019-05-05 16:36:57 +08:00
    如果业务逻辑非常多, 肯定会画的....

    一般是需求评审后,我就开始画.然后画好几个版本.. 因为可能设计到 合并相同的代码!

    画好了,开始写代码, 并标注好注释,方便知道自己到哪一步了...
    kanepan19
        16
    kanepan19  
       2019-05-05 16:38:23 +08:00
    直接画脑图
    yidinghe
        17
    yidinghe  
       2019-05-05 16:38:43 +08:00
    有助于自己理解的程度就行
    matsuijurina
        18
    matsuijurina  
       2019-05-05 16:43:20 +08:00
    反正我上次看新闻一个写小黄文的作家被抓的时候家里还摆满了各种人物关系图,剧情流程图...汗颜,在任何一个行业想要做出点成绩都不是容易的事情。
    watzds
        19
    watzds  
       2019-05-05 16:55:35 +08:00 via Android
    在脑子里画图
    itqls
        20
    itqls  
       2019-05-05 16:58:47 +08:00
    我是拿笔在笔记本上画- -
    loveCoding
        21
    loveCoding  
       2019-05-05 16:59:32 +08:00
    复杂的话,会画下流程图和时序图
    OMGZui
        22
    OMGZui  
       2019-05-05 17:02:59 +08:00
    Vegetable
        23
    Vegetable  
       2019-05-05 17:04:11 +08:00 via Android
    不画的话,怎么快速让别人理解自己的代码呢,总会有人来看的,方便自己,造福他人。
    huijiewei
        24
    huijiewei  
       2019-05-05 17:04:34 +08:00 via iPhone
    逻辑复杂的话肯定要画的,有时候画完你会发现很多逻辑分支可以合并精简呢
    AirBlue
        25
    AirBlue  
       2019-05-05 17:06:21 +08:00 via Android
    你们一般都用什么画流程图
    daodao116
        26
    daodao116  
       2019-05-05 17:09:54 +08:00
    需要画的时候就画啊,拿张白纸画也行啊。
    cstj0505
        27
    cstj0505  
    OP
       2019-05-05 17:12:19 +08:00
    @daodao116 我是先白纸,找前台拿打印废白纸订成草稿册,然后 markdown,交流用黑板,最终都落成 markdown
    wysnylc
        28
    wysnylc  
       2019-05-05 17:39:34 +08:00
    好记性不如烂笔头,不是画什么图而是得记着你写了什么
    要不然出个问题找记忆找半天,事早就被耽误了
    JCZ2MkKb5S8ZX9pq
        29
    JCZ2MkKb5S8ZX9pq  
       2019-05-05 17:50:43 +08:00
    不画的话,过几个月重读代码的成本,和画图也差不多。
    radiocontroller
        30
    radiocontroller  
       2019-05-05 17:57:51 +08:00
    把问题描述清楚就已经解决一半的问题了
    Phuasheng
        31
    Phuasheng  
       2019-05-05 18:00:01 +08:00
    不是画图,个人是写伪代码
    Wicked
        32
    Wicked  
       2019-05-05 19:18:39 +08:00 via iPhone
    我通常是看代码的时候画
    greatbody
        33
    greatbody  
       2019-05-05 22:42:23 +08:00
    分析需求,需要一堆便利贴。
    做需求的时候,先写好功能测试,然后 TDD
    orangeade
        34
    orangeade  
       2019-05-05 22:44:54 +08:00 via Android
    简单需求直接写代码
    复杂系统,设计很多人很多部门的要画
    lookas2001
        35
    lookas2001  
       2019-05-05 22:46:08 +08:00
    同脑容量小,手头画一画总比干想好使。
    GoTop
        36
    GoTop  
       2019-05-05 23:08:01 +08:00
    像我这样的野鸡程序员,从来不画图,反正项目小,也没这个必要
    no13bus
        37
    no13bus  
       2019-05-05 23:34:53 +08:00
    稍微复杂一点就画。不仅仅开发画,测试也要学着画。
    MonoLogueChi
        38
    MonoLogueChi  
       2019-05-06 00:25:05 +08:00 via Android
    手边一支笔一个本子,todo 喜欢记到本子上,SQL 喜欢在本子上写一下,表结构喜欢写到本子上,逻辑搞不清楚就在本子上画,空间坐标转换,那更是没有本子画图根本不会做
    zhuzhibin
        39
    zhuzhibin  
       2019-05-06 01:13:52 +08:00 via iPhone
    用 flow 描述出来
    xiangyuecn
        40
    xiangyuecn  
       2019-05-06 07:22:55 +08:00
    脑子不够用,脑图来补一下。。。我怕吓到诸位,默默的放了一张图




    http://wx2。sinaimg。cn/large/a32300cdly1g2r8kamsrtj20pu0di0u4.jpg [史上最强反反盗链链接]
    zgl263885
        41
    zgl263885  
       2019-05-06 07:38:06 +08:00 via iPhone
    能把业务理清楚,用图画出来,这才是大牛。至于后面用代码实现,给个刚毕业俩月的萌新,都能照图写出来。
    zjsxwc
        42
    zjsxwc  
       2019-05-06 07:41:40 +08:00 via Android
    我用 umlet 画实体类与业务关系
    a554340466
        43
    a554340466  
       2019-05-06 08:00:13 +08:00 via iPhone
    还要求写设计案。
    iAcn
        44
    iAcn  
       2019-05-06 08:08:44 +08:00 via Android
    逻辑复杂的时候会简单画画,习惯用笔。
    chenyu8674
        45
    chenyu8674  
       2019-05-06 08:52:31 +08:00

    尤其是如果要交接的话这玩意比文档好用多了
    passerbytiny
        46
    passerbytiny  
       2019-05-06 08:54:59 +08:00
    @cstj0505 流程图一般是给外人看的,并且一般只适合体现简单的流程,否则图和代码之间的翻译就是个大问题。你这种情况要上 UML,画个状态机,再补个序列图,以后想重构都很容易。

    @kanepan19 #14 @xiangyuecn #36 你们比较适合当“画图”经理
    younfor
        47
    younfor  
       2019-05-06 08:57:08 +08:00
    画啊。画图两个礼拜,开发两三天。嗯,留给程序狗开发的时间不多了,我枯了(
    carlclone
        48
    carlclone  
       2019-05-06 09:02:40 +08:00
    画的画的, 脑容量低 , 再也不敢不画了 , 甚至还要先写上伪代码
    cstj0505
        49
    cstj0505  
    OP
       2019-05-06 09:10:04 +08:00
    @passerbytiny 多谢,确实是正在重构,之前为了赶进度有个地方代码一大坨,回过头看自己还要看半天,现在重新梳理逻辑
    cstj0505
        50
    cstj0505  
    OP
       2019-05-06 09:11:19 +08:00
    @xiangyuecn 这图牛逼,大佬喝阔落
    liuxey
        51
    liuxey  
       2019-05-06 09:13:05 +08:00
    @xiangyuecn #40 神仙业务逻辑,我想问下,这个测试用例有多少个?
    guoyuchuan
        52
    guoyuchuan  
       2019-05-06 09:13:48 +08:00
    该画还是得画
    phpcxy
        53
    phpcxy  
       2019-05-06 09:17:13 +08:00
    画,千万不能自以为是
    babedoll
        54
    babedoll  
       2019-05-06 09:18:16 +08:00
    要画。。不然代码写着写着就发现要加新功能。。
    xiangyuecn
        55
    xiangyuecn  
       2019-05-06 09:26:24 +08:00
    @liuxey #54 结果比 #47 惨些 画图两礼拜 老板一瞄预估的工期 默默的取消了项目,测个锤子😂
    visonme
        56
    visonme  
       2019-05-06 09:28:15 +08:00
    这是个好习惯,不过大多数在纸上手绘
    antchenanyu
        57
    antchenanyu  
       2019-05-06 09:34:01 +08:00
    4ark
        58
    4ark  
       2019-05-06 09:38:59 +08:00 via Android
    @xiangyuecn 这是什么软件
    Baymaxbowen
        59
    Baymaxbowen  
       2019-05-06 09:41:13 +08:00 via Android
    画,不画出来的话理解不够清晰
    HansCathy
        60
    HansCathy  
       2019-05-06 09:48:48 +08:00
    画画
    ericgui
        61
    ericgui  
       2019-05-06 09:50:55 +08:00
    还是画一下比较合适,可以用笔
    duxiansen
        62
    duxiansen  
       2019-05-06 09:58:09 +08:00
    所以你们都是用什么画流程图的?
    RickyWonng
        63
    RickyWonng  
       2019-05-06 10:29:51 +08:00
    A4 纸的大本子,加一把尺子,一根笔,画图最合适了
    NonClockworkChen
        64
    NonClockworkChen  
       2019-05-06 10:35:03 +08:00
    只有具体了,才会想到不足。。。
    alexmy
        65
    alexmy  
       2019-05-06 10:40:45 +08:00
    MindMaster 也还好吧,用一款就好了,反正没有什么复杂的需求。
    xiangyuecn
        66
    xiangyuecn  
       2019-05-06 12:55:44 +08:00
    @4ark #58 百度脑图
    rock_cloud
        67
    rock_cloud  
       2019-05-06 16:45:21 +08:00
    问画图工具的,可以试试 https://draw.io
    Guocy2010
        68
    Guocy2010  
       2019-05-06 18:07:19 +08:00
    @matsuijurina 请问他们的文章都发到什么地方去了
    luozic
        69
    luozic  
       2019-05-06 18:54:47 +08:00 via iPhone
    画,除非是垃圾逻辑,否则谁写谁知道,坑多得手机
    luozic
        70
    luozic  
       2019-05-06 18:58:57 +08:00 via iPhone
    完整的不是 UML,好几张图吧
    ywisax
        71
    ywisax  
       2019-05-06 22:26:14 +08:00
    会画。只要业务可以用状态机来驱动的话,画出来基本就是代码写好了。
    yishanhe
        72
    yishanhe  
       2019-05-07 03:07:08 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2759 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 08:02 · PVG 16:02 · LAX 00:02 · JFK 03:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.