作者zzss2003 (brotherD)
看板C_and_CPP
标题[讨论] 请问多层回圈的flow chart怎麽画?
时间Mon Sep 18 17:52:48 2017
各位好,小弟想要画以下这个程式码的流程图:
if(V>24){
do{
PWM();
while(I=0){
RA5=0;
Delay_ms(1000);
LED();
I2C();
RA5 = 1;
Delay_ms(1000);
if(I != 0){
break;
}
}
LED();
I2C();
}while(v<28.7)
}
小弟画出来的:
https://imgur.com/a/NMyvY
不过我也只是硬干而已,想请教各位前辈,有没有更适合的画法?谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.248.26.157
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1505728371.A.542.html
1F:→ MOONRAKER: ……你block大小会不会太随兴了 09/18 18:45
2F:→ MOONRAKER: 一般if block习惯是结果为真,继续往下 09/18 18:48
3F:→ MOONRAKER: 结果为假,拉一条长的flow跳过回圈,回圈尾巴往左边回 09/18 18:49
4F:→ MOONRAKER: 去,接回if block,这样才有点回圈的样子 09/18 18:49
5F:→ MOONRAKER: 你画得这样我很想建议你不要画了 反正流程图早就过时了 09/18 18:50
6F:→ MOONRAKER: 早20年就不是非画不可 09/18 18:50
7F:推 chuegou: 我组语会画一下 不过还是以状态机图比较常用 09/18 19:25
8F:→ EdisonX: 流程图我以为只有labview. plc 还有在用 09/19 00:43
大家都不习惯画流程图吗,我觉得画出来对写程式的逻辑很有帮助阿~不过应该是因为我太
弱QQ
※ 编辑: zzss2003 (60.248.26.157), 09/19/2017 09:35:10
9F:推 Neisseria: 以原来这个程式码来说,应该也不用画吧 09/19 10:10
10F:→ Neisseria: 如果比较复杂的,用就函式把流程 refactoring 一下 09/19 10:11
请问用函式把流程refactoring是什麽意思
11F:→ MOONRAKER: 学习阶段很爱画,还买过流程图规(图板)。 09/19 10:51
12F:→ MOONRAKER: 但是各个阶段做的事情不同 传统流程图太繁琐 09/19 10:53
13F:→ MOONRAKER: 只适合慢慢来 09/19 10:54
14F:→ MOONRAKER: 不要以为大家不画 惯例都跟你讲了 不要装没看到 09/19 10:54
MOON大大您说什麽装没看到呀~您讲的建议我有看进去喔~
※ 编辑: zzss2003 (60.248.26.157), 09/19/2017 10:59:09
15F:推 Neisseria: 主要执行功能的函式不要写出实作细节 09/19 14:54
16F:→ Neisseria: 把一些细节包在一些小型 helper 函式里 09/19 14:54
17F:→ Neisseria: 读主函式时就会大略知道程式在做什麽 09/19 14:55
18F:→ Neisseria: 需要改实作时改 helper 函式即可 09/19 14:55
19F:→ Neisseria: 之前在一些教撰写程式码的书看到的概念 09/19 14:56
20F:→ Neisseria: 虽然那本书是用 Java,概念应该都通吧 09/19 14:57
21F:推 CoNsTaR: 流程图没有过时问题啊 画那东西本来就一点意义也没有 09/19 19:51
22F:推 xavier13540: 原来还真的有人在画流程图 09/22 04:20
23F:推 bladesaurus: 流程图怎麽了、不同的需求就可以用不同的工具 09/22 11:48
24F:→ bladesaurus: 人家的专案或是团队可能就很适合流程图阿 09/22 11:49
25F:推 bladesaurus: 语言或工具意不在精美或潮流程度、能有效沟通就好 09/22 11:59
可以请问一下大家说流程图过时的原因是什麽吗?还是现在有更方便可以取代流程图的工具
※ 编辑: zzss2003 (60.248.26.157), 09/22/2017 16:43:56
26F:→ MOONRAKER: 过时就太复杂啊 09/26 14:02
27F:→ MOONRAKER: 很多流程图元件是从打孔卡时代就有的 现在都不合时宜 09/26 14:04
28F:→ MOONRAKER: 以前打孔卡时代输入、显示、印表是大事 现在都不需要 09/26 14:05
29F:→ MOONRAKER: 画起来也不方便 学习阶段写虚拟码就有不错效果 09/26 14:06
30F:→ MOONRAKER: 准备正式文件的时候再画不迟 09/26 14:08
31F:→ MOONRAKER: 另一个原因是流程图的重点随应用场合而异 09/26 14:12
32F:→ MOONRAKER: 往往到系统规划的时候才会显示出价值 学习阶段不好画也 09/26 14:22
33F:→ MOONRAKER: 不好改 往往浪费时间 09/26 14:22