看板 C_and_CPP 關於我們 聯絡資訊
我最近想要把寫的C++程式整理成一些說明文件, 就是類似方塊圖,可以很清楚知道,class的分類有哪些? 誰使用了誰之類的文件, 除了自己review方便外,別人看的也清楚, 但是不知該用什麼樣的軟體好呢? Visio裡好像有些範本可以使用, 但我不太懂那些範本modal的意思? 不知各位有沒有做過類似乎的事情, 可以推薦一下如何做呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.76.249.192
purpose:現在不是都用UML嗎 11/11 00:01
mida:謝謝樓上,我要是要這個,我要來好好研究一下~~~ 11/11 00:03
james732:比較理想的做法,好像是要先寫文件再寫程式...XDD 11/11 00:04
mida:就是 11/11 00:04
loveme00835:不過通常是用反向工程, 先寫好程式再產生UML, 所以不 11/11 00:04
mida:對~~~我就是發現愈寫愈亂,所以覺得應該要寫文件才對。XDD 11/11 00:04
loveme00835:用太清楚了解其中很細節的地方, 但是直接從類別圖等設 11/11 00:05
loveme00835:計, 可以把你的思維跟實作細節分開, 基本上可以設計的 11/11 00:06
loveme00835:的比較「完美」, 不過還是要非常有經驗才辦得到 11/11 00:07
loveme00835:軟體的話可以試試 StarUML 11/11 00:08
purpose:google 查 UML 類別圖,就會有文件了 11/11 00:09
loveme00835:但是很現實的一點, 雖然這個可以做為溝通的語言, 但是 11/11 00:10
loveme00835:前提要在「雙方都懂」的情況下才適用, 比如設計模式雖 11/11 00:12
loveme00835:然好用, 也不是每個人都會這套 11/11 00:12
james732:有的時候太"良好"的設計 好像是在給別人找麻煩 XDD 11/11 00:13
loveme00835:畢竟大多都是習慣看比較差的程式碼, 說真的我用 fill 11/11 00:14
loveme00835:來初始化陣列會罵到臭頭, 反而用迴圈一個個 assign 就 11/11 00:15
loveme00835:很受歡迎 > < 11/11 00:16
loveme00835: ^被 11/11 00:16
loveme00835:阿搞混, 現在是講架構...Orz 11/11 00:17
loveme00835:應該說的是, 很多人只要「現在」完成他們的需求就好, 11/11 00:18
purpose:是被公司同事罵? 11/11 00:18
loveme00835:架構好壞都沒什麼差別, 所以未來加入新需求時才會抱 11/11 00:19
loveme00835:連連, 而且不會追求根本的解決方法, 只有惡性循環而已 11/11 00:19
loveme00835:「program for the future」真的很重要, 當初罵我的是 11/11 00:20
mida:其實就是這樣接手的人很痛苦,又沒有guts砍掉重練....0rz 11/11 00:21
loveme00835:教 C++ 的老師, 現在是我BOSS... 11/11 00:21
purpose:喔,瞭解 11/11 00:22
purpose:不過UML市面上的書有越出越多,應該前景良好啦 11/11 00:23
mida:感謝l大的說明,獲益良多呀~~~ 11/11 00:24
mida:順便再問一下,staruml跟visio哪個比較好用呢? 11/11 00:24
loveme00835:哈哈...教得好真的會讓你有種「學這些就夠了」的感覺 11/11 00:25
softwind:UML的書越出越多阿... 應該是在騙錢吧 XD 11/11 00:25
softwind:那麼多UML有的沒的 真的畫UML的 有幾個有實作的經驗? 11/11 00:26
loveme00835:visio 我沒用過耶, staruml 真的蠻適合新手的, UML 可 11/11 00:26
softwind:多的是review補class 幫Boss畫圖 那個有用嗎? 11/11 00:26
purpose:VISIO只有很基本的功能,完全不推薦 11/11 00:27
loveme00835:以參考 Martin Fowler 的 UML精華 11/11 00:27
softwind:UML的使用應該是在coding之前 對class的互動有大概的定義 11/11 00:27
softwind:而不是畫的漂漂亮亮的 當成作業還是烤雞的加分 真是... 11/11 00:28
loveme00835:其實一部分畫圖是跟寫碼同時進行的, 只有在實作的時候 11/11 00:29
loveme00835:才能更明確知道該怎麼設計, 所以軟體開發法才會有某幾 11/11 00:29
loveme00835:種特別受歡迎 11/11 00:29
yoco315:手動畫太累了吧, 直接 doxygen 就一次全部生出來了 @"@ 11/11 01:20
yoco315:手畫還會畫錯, 改程式還要手動改圖 XD 當然是用程式作 11/11 01:23
yoco315:call/caller/collaborate graph 還有繼承樹一次到位 11/11 01:23
loveme00835:產生 document 我還是比較習慣用 XML 寫 XD 11/11 01:27
sunneo:推doxygen 11/11 05:07
tinlans:doxygen 在我印象中,對一些 #ifdef 之類的東西會出錯。 11/11 07:01
tinlans:但是還勉強可以用,只是有些地方不能太相信它。 11/11 07:01