<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Javadoc &#8211; 記下來</title>
	<atom:link href="https://noter.tw/tag/javadoc/feed/" rel="self" type="application/rss+xml" />
	<link>https://noter.tw</link>
	<description>一路上踩到的坑、遇到的問題，一點一滴記下來，希望能幫助到需要的人~</description>
	<lastBuildDate>Tue, 02 Jul 2019 05:55:10 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.3</generator>

<image>
	<url>https://noter.tw/wp-content/uploads/cropped-old-1130742_1920-1-32x32.jpg</url>
	<title>Javadoc &#8211; 記下來</title>
	<link>https://noter.tw</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>如 Javadoc 的程式文件產生器 Doxygen 簡易教學</title>
		<link>https://noter.tw/2790/%e5%a6%82-javadoc-%e7%9a%84%e7%a8%8b%e5%bc%8f%e6%96%87%e4%bb%b6%e7%94%a2%e7%94%9f%e5%99%a8-doxygen-%e7%b0%a1%e6%98%93%e6%95%99%e5%ad%b8/</link>
					<comments>https://noter.tw/2790/%e5%a6%82-javadoc-%e7%9a%84%e7%a8%8b%e5%bc%8f%e6%96%87%e4%bb%b6%e7%94%a2%e7%94%9f%e5%99%a8-doxygen-%e7%b0%a1%e6%98%93%e6%95%99%e5%ad%b8/#respond</comments>
		
		<dc:creator><![CDATA[黃小蛙]]></dc:creator>
		<pubDate>Tue, 19 Mar 2013 09:14:25 +0000</pubDate>
				<category><![CDATA[技術相關]]></category>
		<category><![CDATA[Doxygen]]></category>
		<category><![CDATA[Javadoc]]></category>
		<guid isPermaLink="false">http://wazai.net/?p=2790</guid>

					<description><![CDATA[<p>小蛙之前寫 Java 居多，Java 裡面有一個 Javadoc 可以把開發者依照固定好的格式填寫的程式註解整理成一份完整的 HTML 文件，讓其他開發者可以很方便的查詢 API。例如：舊版 Java&#46;&#46;&#46;</p>
<p>這篇文章 <a rel="nofollow" href="https://noter.tw/2790/%e5%a6%82-javadoc-%e7%9a%84%e7%a8%8b%e5%bc%8f%e6%96%87%e4%bb%b6%e7%94%a2%e7%94%9f%e5%99%a8-doxygen-%e7%b0%a1%e6%98%93%e6%95%99%e5%ad%b8/" data-wpel-link="internal">如 Javadoc 的程式文件產生器 Doxygen 簡易教學</a> 最早出現於 <a rel="nofollow" href="https://noter.tw" data-wpel-link="internal">記下來</a>。</p>
]]></description>
										<content:encoded><![CDATA[<p>小蛙之前寫 Java 居多，Java 裡面有一個 Javadoc 可以把開發者依照固定好的格式填寫的程式註解整理成一份完整的 HTML 文件，讓其他開發者可以很方便的查詢 API。例如：<strong><a href="http://docs.oracle.com/javase/6/docs/api/" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">舊版 Javadoc<span class="wpel-icon wpel-image wpel-icon-6"></span></a></strong>、<strong><a href="http://docs.oracle.com/javase/7/docs/api/" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">新版 Javadoc<span class="wpel-icon wpel-image wpel-icon-6"></span></a></strong>。<strong><a href="http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">這裡<span class="wpel-icon wpel-image wpel-icon-6"></span></a></strong>有編寫 Javadoc 的一些規則跟說明。前陣子要把寫好的 PHP 整理成類似 Javadoc 這種文件，雖然網路上找到像 phpDocumentor、PHPDoc &#8230; 等工具，但覺得不是那麼樣好看(小蛙個人喜好問題，看習慣 Javadoc 了)，這篇文章很簡單地介紹 <strong><a href="http://www.stack.nl/~dimitri/doxygen/download.html" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">Doxygen<span class="wpel-icon wpel-image wpel-icon-6"></span></a></strong> 這套功能強大、設定也挺複雜的文件產生工具。<br />
<span id="more-2790"></span><br />
從 Google 上種種文件看起來，早期的 Doxygen 要自己手動設定一大堆參數(從<strong><a href="http://www.stack.nl/~dimitri/doxygen/doxygen_intro_cn.html" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">這篇文章<span class="wpel-icon wpel-image wpel-icon-6"></span></a></strong>可以看見，其實現在的也是)，小蛙下載完之後發現已經有了 GUI 工具了，以下只簡單介紹小蛙自己有使用到的功能！首先，到 <strong><a href="http://www.stack.nl/~dimitri/doxygen/download.html" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">Doxygen 官網<span class="wpel-icon wpel-image wpel-icon-6"></span></a></strong>的下載頁面下載新版本的 Doxygen (測試當時下載了&nbsp;<strong>doxygen-1.8.3.1-setup.exe (17.2MB) ( ftp | http )</strong> 這個版本)<br />
安裝完成後執行 Doxywizard 開啟 GUI 設定工具。下圖為 Doxywizard 啟動畫面，在 <strong>Step 1.</strong> 的地方，選擇要製作 document 的路徑，例如：小蛙這邊某個專案的 library 都放在 Include 資料夾下，所以選擇這個資料夾。<strong>Step 2.</strong> 的部份可以輸入專案名稱、專案簡介、專案版本，甚至是專案LOGO；接著 <strong>Specify the directory to scan for source code</strong> 跟 Step 1. 是接在一起的，因為 Step 1. 小蛙已經選好目的資料夾了，所以這邊只要輸入 . ，表示該目錄，如果目錄下還有其他階層目錄，把 <strong>Scan recursively</strong> 打勾；最下面指定產生出來的文件要放在哪個資料夾(Destination directory)。</p>
<p style="text-align: center;">[pe2-image src=&#8221;//lh6.ggpht.com/-GR50oBdr0Mw/UUgcjjXfE-I/AAAAAAAAHic/uifJ6ToyNE4/s144-c/1_doxygen_index.png&#8221; href=&#8221;https://picasaweb.google.com/116442387221799758778/apWIWG?authkey=Gv1sRgCKTIvqS13OviZQ#5856962712510075874&#8243; caption=&#8221;&#8221; type=&#8221;image&#8221; alt=&#8221;1_doxygen_index.png&#8221; ]
<p><span style="color: #ff0000;"><strong>Wizard</strong></span> 下的 <span style="color: #ff0000;"><strong>Mode</strong> </span>頁面右邊 entities 部份小蛙使用預設值，下面選擇自己的程式語言。</p>
<p style="text-align: center;">[pe2-image src=&#8221;//lh6.ggpht.com/-m23Na2ZnEZo/UUgckCfl-mI/AAAAAAAAHis/t0mLV4VLiBo/s144-c/2_doxygen_mode.png&#8221; href=&#8221;https://picasaweb.google.com/116442387221799758778/apWIWG?authkey=Gv1sRgCKTIvqS13OviZQ#5856962720865581666&#8243; caption=&#8221;&#8221; type=&#8221;image&#8221; alt=&#8221;2_doxygen_mode.png&#8221; ]
<p class="clear">&nbsp;<strong><span style="color: #ff0000;">Wizard</span> </strong>下的 <span style="color: #ff0000;"><strong>Output</strong> </span>頁面 HTML 部份勾選 <strong>with navigation panel</strong> 就會出現有導覽視窗的文件，另外下方還可以輸出 LaTex、Man Page、RTF、XML &#8230; 等等，可依照自己的需求選取。</p>
<p class="clear" style="text-align: center;">[pe2-image src=&#8221;//lh4.ggpht.com/-rmq-oyQim6c/UUgckGw7I5I/AAAAAAAAHiw/acDDPyYjuZM/s144-c/3_doxygen_output.png&#8221; href=&#8221;https://picasaweb.google.com/116442387221799758778/apWIWG?authkey=Gv1sRgCKTIvqS13OviZQ#5856962722012013458&#8243; caption=&#8221;&#8221; type=&#8221;image&#8221; alt=&#8221;3_doxygen_output.png&#8221; ]
<p class="clear">&nbsp;<span style="color: #ff0000;"><strong>Wizard</strong> </span>下的 <span style="color: #ff0000;"><strong>Diagrams</strong> </span>頁面小蛙直接使用預設值，這是會在每個 class 頁面的上方畫出對應的 UML 圖。</p>
<p class="clear" style="text-align: center;">[pe2-image src=&#8221;//lh6.ggpht.com/-r_7vWpmVLPA/UUgckUcMTOI/AAAAAAAAHio/BYluWo0Uy9s/s144-c/4_doxygen_diagrams.png&#8221; href=&#8221;https://picasaweb.google.com/116442387221799758778/apWIWG?authkey=Gv1sRgCKTIvqS13OviZQ#5856962725683154146&#8243; caption=&#8221;&#8221; type=&#8221;image&#8221; alt=&#8221;4_doxygen_diagrams.png&#8221; ]
<p>接著切換到 <strong>Expert</strong> 頁面，這邊的設定有點複雜，小蛙大部分保留預設設定，如果產出的文件有亂碼的情況，才來改這邊的設定，<span style="color: #ff0000;"><strong>Project</strong> </span>頁面裡的 <span style="color: #ff0000;"><strong>DOXYFILE_ENCODING</strong></span>、<span style="color: #ff0000;"><strong>OUTPUT_LANGUAGE</strong></span>；以及 <span style="color: #ff0000;"><strong>Input</strong> </span>頁面裡的 <span style="color: #ff0000;"><strong>INPUT_ENCODING</strong></span>。</p>
<p style="text-align: center;">[pe2-image src=&#8221;//lh3.ggpht.com/-ykvStgaNL-g/UUgckv6Y_SI/AAAAAAAAHh8/WgI6_KbyLVo/s144-c/5_doxygen_expert_encoding.png&#8221; href=&#8221;https://picasaweb.google.com/116442387221799758778/apWIWG?authkey=Gv1sRgCKTIvqS13OviZQ#5856962733057572130&#8243; caption=&#8221;&#8221; type=&#8221;image&#8221; alt=&#8221;5_doxygen_expert_encoding.png&#8221; ]
<p class="clear" style="text-align: center;">[pe2-image src=&#8221;//lh5.ggpht.com/-8ja6NMgUtqo/UUgckseidII/AAAAAAAAHiY/8ZMTH_tDEVA/s144-c/6_doxygen_expert_encoding.png&#8221; href=&#8221;https://picasaweb.google.com/116442387221799758778/apWIWG?authkey=Gv1sRgCKTIvqS13OviZQ#5856962732135445634&#8243; caption=&#8221;&#8221; type=&#8221;image&#8221; alt=&#8221;6_doxygen_expert_encoding.png&#8221; ]
<p class="clear">還有一個要設定的部份，如果您的專案原始碼是私密的，只有自己人可以看到的話，<strong><span style="color: #ff0000;">Source</span> <span style="color: #ff0000;">Browser</span></strong> 下的<span style="color: #ff0000;"><strong> SOURCE_BROWSER</strong> </span>千萬別打勾；但對於文件放在內網的情況下，在 document 下可以直接看到原始碼也是一件方便的事情！</p>
<p style="text-align: center;">[pe2-image src=&#8221;//lh5.ggpht.com/-snpQOkvJxmU/UUgck-EpQdI/AAAAAAAAHiQ/Iw8u8tkd1Vo/s144-c/7_doxygen_expert_source_browser.png&#8221; href=&#8221;https://picasaweb.google.com/116442387221799758778/apWIWG?authkey=Gv1sRgCKTIvqS13OviZQ#5856962736858677714&#8243; caption=&#8221;&#8221; type=&#8221;image&#8221; alt=&#8221;7_doxygen_expert_source_browser.png&#8221; ]
<p class="clear">最後切換到 <span style="color: #ff0000;"><strong>Run</strong></span> 頁面，點選 <span style="color: #ff0000;"><strong>Run doxygen</strong></span> 開始產生文件。</p>
<p class="clear" style="text-align: center;">[pe2-image src=&#8221;//lh3.ggpht.com/-2GM2PF38JPc/UUgclHYG9yI/AAAAAAAAHiM/-pQRevbgaQ0/s144-c/8_doxygen_run_result.png&#8221; href=&#8221;https://picasaweb.google.com/116442387221799758778/apWIWG?authkey=Gv1sRgCKTIvqS13OviZQ#5856962739356235554&#8243; caption=&#8221;&#8221; type=&#8221;image&#8221; alt=&#8221;8_doxygen_run_result.png&#8221; ]
<p class="clear">以下是結果圖：</p>
<p class="clear" style="text-align: center;">[pe2-image src=&#8221;//lh3.ggpht.com/-obEzoWzz_WU/UUgclO-6_HI/AAAAAAAAHiU/6OC5ty3tQ5M/s144-c/9_doxygen_data_structures.png&#8221; href=&#8221;https://picasaweb.google.com/116442387221799758778/apWIWG?authkey=Gv1sRgCKTIvqS13OviZQ#5856962741398076530&#8243; caption=&#8221;&#8221; type=&#8221;image&#8221; alt=&#8221;9_doxygen_data_structures.png&#8221; ]
<p class="clear" style="text-align: center;">[pe2-image src=&#8221;//lh4.ggpht.com/-84glK3f2aXo/UUgcjujNabI/AAAAAAAAHik/FdPHzDA9AuI/s144-c/10_doxygen_methods.png&#8221; href=&#8221;https://picasaweb.google.com/116442387221799758778/apWIWG?authkey=Gv1sRgCKTIvqS13OviZQ#5856962715512039858&#8243; caption=&#8221;&#8221; type=&#8221;image&#8221; alt=&#8221;10_doxygen_methods.png&#8221; ]
<p class="clear" style="text-align: center;">[pe2-image src=&#8221;//lh5.ggpht.com/-3AoqSiJqiXg/UUgcjiii2OI/AAAAAAAAHig/_8G5sBigw44/s144-c/11_doxygen_diagrams.png&#8221; href=&#8221;https://picasaweb.google.com/116442387221799758778/apWIWG?authkey=Gv1sRgCKTIvqS13OviZQ#5856962712288024802&#8243; caption=&#8221;&#8221; type=&#8221;image&#8221; alt=&#8221;11_doxygen_diagrams.png&#8221; ]
<p class="clear">
<p><strong>參考資料：</strong></p>
<ol>
<li>How to Write Doc Comments for the Javadoc Tool @ Oracle<br />
<address><a href="http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html<span class="wpel-icon wpel-image wpel-icon-6"></span></a></address>
</li>
<li>Java™ Platform Standard Ed. 6 @ Oracle<br />
<address><a href="http://docs.oracle.com/javase/6/docs/api/" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">http://docs.oracle.com/javase/6/docs/api/<span class="wpel-icon wpel-image wpel-icon-6"></span></a></address>
</li>
<li>Java™ Platform Standard Ed. 7 @ Oracle<br />
<address><a href="http://docs.oracle.com/javase/7/docs/api/" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">http://docs.oracle.com/javase/7/docs/api/<span class="wpel-icon wpel-image wpel-icon-6"></span></a></address>
</li>
<li>phpDocumentor<br />
<address><a href="http://www.phpdoc.org/" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">http://www.phpdoc.org/<span class="wpel-icon wpel-image wpel-icon-6"></span></a></address>
</li>
<li>PHPDoc<br />
<address><a href="http://www.phpdoc.de/demo.html" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">http://www.phpdoc.de/demo.html<span class="wpel-icon wpel-image wpel-icon-6"></span></a></address>
</li>
<li>PEAR：使用PHPDoc轻松建立你的PEAR文档 @ IBM<br />
<address><a href="http://www.ibm.com/developerworks/cn/linux/sdk/php/pear3/index.html" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">http://www.ibm.com/developerworks/cn/linux/sdk/php/pear3/index.html<span class="wpel-icon wpel-image wpel-icon-6"></span></a></address>
</li>
<li>簡介Doxygen by Gary W. Lee<br />
<address><a href="http://www.stack.nl/~dimitri/doxygen/doxygen_intro_cn.html" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">http://www.stack.nl/~dimitri/doxygen/doxygen_intro_cn.html<span class="wpel-icon wpel-image wpel-icon-6"></span></a></address>
</li>
<li>Doxygen<br />
<address><a href="http://www.stack.nl/~dimitri/doxygen/download.html" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">http://www.stack.nl/~dimitri/doxygen/download.html<span class="wpel-icon wpel-image wpel-icon-6"></span></a></address>
</li>
<li>Doxygen 程式文件產生器 與 簡易筆記 @ Tsung&#8217;s Blog<br />
<address><a href="http://blog.longwin.com.tw/2011/04/doxygen-document-generator-2011/" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">http://blog.longwin.com.tw/2011/04/doxygen-document-generator-2011/<span class="wpel-icon wpel-image wpel-icon-6"></span></a></address>
</li>
</ol>
<p>這篇文章 <a rel="nofollow" href="https://noter.tw/2790/%e5%a6%82-javadoc-%e7%9a%84%e7%a8%8b%e5%bc%8f%e6%96%87%e4%bb%b6%e7%94%a2%e7%94%9f%e5%99%a8-doxygen-%e7%b0%a1%e6%98%93%e6%95%99%e5%ad%b8/" data-wpel-link="internal">如 Javadoc 的程式文件產生器 Doxygen 簡易教學</a> 最早出現於 <a rel="nofollow" href="https://noter.tw" data-wpel-link="internal">記下來</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://noter.tw/2790/%e5%a6%82-javadoc-%e7%9a%84%e7%a8%8b%e5%bc%8f%e6%96%87%e4%bb%b6%e7%94%a2%e7%94%9f%e5%99%a8-doxygen-%e7%b0%a1%e6%98%93%e6%95%99%e5%ad%b8/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
