精華區beta Programming 關於我們 聯絡資訊
※ 引述《StubbornLin.bbs@ptt.cc (Victor)》之銘言: > ※ 引述《costbook (antitheist)》之銘言: > : 如果是OOP的程式,有一種工具可以 > : 自動把code畫成UML類別圖 > : 不過好像有的有綁IDE、有的沒有... > Doxygen > 生成文件,印出來看 > 應該會比直接用IDE或記事本之類的讀好 用 doxygen 的話, 其實還是得看 code 本身是什麼年代的東西, 早期為了讓 prototype 相容於新舊版 C compiler, 會搞出一堆 P1 P2 P3 P4 的 macros 在 function prototype 上, 看起來像是 void foo P2(int, x, int, y) 這樣的東西, doxygen 會有誤判的情形。 把這個 function 當成叫做 P2 的 function, 然後要是一個檔案裡面全部都是兩個參數的 functions, 那掃出來就會發現 doxygen 只抓到一個叫做 P2 的 function, 其它的 functions 全部遺漏掉了。 doxygen 對 #ifdef 這類的東西判定能力也很弱, 不少程式是用 configure script 掃出一個 config.h 檔來, 然後做條件編譯, 但是 doxygen 沒辦法分辨出這種東西來, 永遠都是先 parse 最早看到的那一塊。 我是知道 doxygen 的設定檔裡有一堆選項疑似可以解決這些問題, 不過我測到今年三四月的版本為止都沒發現有啥效果, 用了好幾年下來 doxygen 一直都沒改善這些問題。 -- Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net School: National Tsing Hua University Department: Computer Science Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Software pipelining for VLIW architectures Homepage: https://it.muds.net/~uranus -- ╔═══╗ ┼────────────────────────╮ 狂狷 Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮ 年少 ┼╮ < IP:140.119.164.252 > ╰─╮ ╚╦═╦╝ From:61-230-220-9.dynamic.hinet.net ─╨─╨─ KGBBS 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩