如何畫好流程圖
大廠技術??高級前端??Node進階
點擊上方?程序員成長指北,關注公眾號
回復1,加入高級Node交流群
?原創(chuàng)不易,歡迎點贊轉(zhuǎn)發(fā)關注~

你好,我是 hockor,在上一篇文章中我們講了如何畫好架構(gòu)圖,作為一個程序員,在工作中我們還會接觸到很多的流程圖,所以這一次我們就來聊聊工作中常見的流程圖的繪制,幫助你更好的看懂和繪制流程圖。
什么是流程圖
流程圖 = 流程 + 圖。
它是以特定的圖形符號加上說明,表示算法的圖,通常是用來表示流經(jīng)一個系統(tǒng)的信息流、觀點流或部件流的圖形代表,流程圖通常以不同類型的框代表不同種類的步驟,每兩個步驟之間則以箭頭連接。
流程圖的核心就在于如何排布事物進行的次序,不同的順序可能造成截然不同的結(jié)果。
為什么要畫流程圖
相比起架構(gòu)圖的宏觀,流程圖更多的專注在具體事項的實現(xiàn)上,它可以幫助我們把一個復雜的過程簡單而直觀地展示出來,大大提高了我們的溝通效率以及減少語言認知的障礙。
其次,在我們畫出一張流程圖之后,方便我們用流程圖和實際操作的步驟進行比較、對照,幫助我們梳理流程上的紕漏。
最后,流程圖還能幫助我們將工作過程中復雜的、有問題的、重復的部分、多余的環(huán)節(jié)以及可以簡化和標準化的地方都顯示出來,有利于我們把復雜流程簡單化。
那么流程圖繪制中需要注意些什么呢?我們先來看看流程圖的組成元素都有些什么?
流程圖的常用符號和規(guī)范
我們知道流程圖中最常用的就是箭頭和矩形了,除了這 2 個以外其他形狀各有什么意義呢?這里給大家列了個表格,一起來看看吧。

在了解了流程圖的基本元素以后,我們再來看看流程圖的三種最常用的結(jié)構(gòu),分別是順序結(jié)構(gòu),循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)
順序結(jié)構(gòu)
這是我們流程圖中最常見的、最簡單的結(jié)構(gòu)了,就是將各個步驟按照先后順序通過箭頭連接,表示任務執(zhí)行的先后順序。

循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)一般是指業(yè)務中需要反復執(zhí)行某個功能而設置的一種程序結(jié)構(gòu),它由循環(huán)體中的條件,判斷是繼續(xù)執(zhí)行某個功能還是退出當前循環(huán)。
場景:用戶購買東西,需要滿足購物車滿 300 元才能出現(xiàn)減免的提示。

選擇結(jié)構(gòu)
用于判斷給定的條件是否符合當前流程期望,根據(jù)判斷的結(jié)果來控制程序的流程。
場景:用戶購物時,根據(jù)是否是會員提示是否送購物袋

除了符號規(guī)劃、結(jié)構(gòu)規(guī)劃,繪制流程圖過程中還要注意一些約定俗成的繪制規(guī)范,比如
1)繪制流程圖時,為了提高流程圖的邏輯性,應遵循從左到右、從上到下的順序排列。
2)一個流程從開始符開始,以結(jié)束符結(jié)束。開始符號只能出現(xiàn)一次,而結(jié)束符號可出現(xiàn)多次。若流程足夠清晰,可省略開始、結(jié)束符號。
3)同一流程圖內(nèi),符號大小需要保持一致,同時連接線不能交叉,連接線不能無故彎曲。
4)流程處理關系為并行關系的,需要將流程放在同一高度。
5)處理流程須以單一入口和單一出口繪制,同一路徑的指示箭頭應只有一個。

總結(jié)
本文從流程圖的定義、基礎元素以及畫法,講解了各種流程圖的特點。其實對于我們常見的架構(gòu)圖、流程圖、時序圖、思維導圖等,其目的都是在于幫助我們?nèi)グ讶魏螐碗s事物拆解為最小單元,然后由最小單元逐漸還原復雜事物。這樣的一種抽象建模的過程才是整個圖的精髓。
最后在繪制的時候如果你不知道怎么開始,不妨多多參考別人的優(yōu)秀例子,這里推薦下processon,一款呼聲很高的在線繪制工具,在創(chuàng)建的時候有很多的模板可供選擇。

最后希望以上內(nèi)容能對你有些許幫助,如果文中有不對的地方也歡迎你的糾正,感謝你的閱讀,我是 hockor,我們下次再見~
參考資料
優(yōu)秀的流程圖是怎樣的:https://www.zhihu.com/question/31537621 深入淺出為你解讀四類「流程圖」:http://www.chanpin100.com/article/105363
Node 社群
我組建了一個氛圍特別好的 Node.js 社群,里面有很多 Node.js小伙伴,如果你對Node.js學習感興趣的話(后續(xù)有計劃也可以),我們可以一起進行Node.js相關的交流、學習、共建。下方加 考拉 好友回復「Node」即可。
如果你覺得這篇內(nèi)容對你有幫助,我想請你幫我2個小忙:
1. 點個「在看」,讓更多人也能看到這篇文章 2. 訂閱官方博客?www.inode.club?讓我們一起成長 點贊和在看就是最大的支持??
