project.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. <?xml version="1.0" encoding="iso-8859-5"?>
  2. <!--
  3. Metrix++, Copyright 2009-2013, Metrix++ Project
  4. Link: http://swi.sourceforge.net
  5. This file is part of Metrix++ Tool.
  6. Metrix++ is free software: you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation, version 3 of the License.
  9. Metrix++ is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with Metrix++. If not, see <http://www.gnu.org/licenses/>.
  15. -->
  16. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  17. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  18. <html xmlns="http://www.w3.org/1999/xhtml">
  19. <head>
  20. <meta http-equiv="cache-control" content="max-age=0" />
  21. <meta http-equiv="cache-control" content="no-cache" />
  22. <meta http-equiv="expires" content="0" />
  23. <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
  24. <meta http-equiv="pragma" content="no-cache" />
  25. <meta http-equiv="content-type" content="text/html; charset=iso-8859-5" />
  26. <title>Metrix++ Project</title>
  27. <link href="style.css" rel="stylesheet" type="text/css" />
  28. </head>
  29. <body>
  30. <table border="0" align="center" cellpadding="0" cellspacing="0" width="800">
  31. <tbody>
  32. <tr>
  33. <td></td>
  34. <td valign="middle"></td>
  35. </tr>
  36. <tr>
  37. <td><img src="logo_project.png" alt="Software Index Project Page" /></td>
  38. <td valign="top">
  39. <div align="right">
  40. <p> </p>
  41. <p align="center"><a href="http://sourceforge.net/projects/swi"
  42. class="lowImportance"><img
  43. src="http://sflogo.sourceforge.net/sflogo.php?group_id=275605&amp;type=13"
  44. alt="Get Software Index at SourceForge.net. Fast, secure and Free Open Source software downloads"
  45. border="0" /></a></p>
  46. <p align="center"><script type="text/javascript"
  47. src="http://www.ohloh.net/p/485947/widgets/project_users_logo.js">
  48. </script>
  49. </p>
  50. </div>
  51. </td>
  52. </tr>
  53. <tr>
  54. <td colspan="2"><hr />
  55. </td>
  56. </tr>
  57. <tr>
  58. <td colspan="2" class="highImportance"
  59. style="text-align:center;margin-left:auto;margin-right:0;"><a
  60. href="#Overview">Overview</a> | <a href="#Download">Download</a> | <a
  61. href="#Documentation">Documentation</a> | <a href="#Support">Bur
  62. report</a> | <a href="#Support">Feature request</a> | <a
  63. href="#Createplugin">Create plugin</a></td>
  64. </tr>
  65. <tr>
  66. <td colspan="2"><hr />
  67. </td>
  68. </tr>
  69. <tr>
  70. <td colspan="2" valign="top">
  71. <table width="100%" border="0" cellspacing="0" cellpadding="10">
  72. <tbody>
  73. <tr>
  74. <td valign="top"><h3 id="Overview">Overview</h3>
  75. <p><span class="normalImportance">Metrix++</span> is the
  76. platform to collect and analyse code metrics.</p>
  77. <ul>
  78. <li>It has got plugin based architecture, so it is easy to
  79. add support for new languages and/or define new metrics
  80. and/or create new pre- and post-processing tools.</li>
  81. <li>Every metric has got 'turn-on' and other configuration
  82. options.</li>
  83. <li>There is no predefined thresholds for metrics or rules.
  84. You can choose and configure any limit you want.</li>
  85. <li>It scales well to big code bases. For example initial
  86. parsing of about 10000 files takes 2-3 minutes on average
  87. PC, and ONLY 10-20 seconds for iterative re-run. Reporting
  88. of summary result and exceeded limits is less than 1 - 10
  89. seconds.</li>
  90. <li>It can compare results for 2 code snapshots (collections)
  91. and differentiate added regions (classes, functions, etc.),
  92. modified regions and unchanged regions.</li>
  93. <li>As a result, easy deployment is guaranteed into legacy
  94. software, helping you to deal with legacy code effiently -
  95. either enforce 'leave it not worse than it was before' rule
  96. or motivate re-factoring.</li>
  97. </ul>
  98. <h4>Standard Plugins</h4>
  99. <p>The distributive includes a set of standard plugins:</p>
  100. <ul>
  101. <li><h4>Code parsers</h4>
  102. <ul>
  103. <li><span class="normalImportance">C/C++</span> parser
  104. recognises definition of namespaces, definition of
  105. classes/structs (including enclosed in functions) and
  106. definition of functions/operators </li>
  107. </ul>
  108. </li>
  109. <li><h4>Metrics</h4>
  110. <ul>
  111. <li><span class="normalImportance">cyclomatic
  112. complexity</span> (by McCabe) per function <span
  113. class="lowImportance">[supports C/C++
  114. language]</span></li>
  115. <li><span class="normalImportance">mismatched
  116. brackets</span> '{}'' per file <span
  117. class="lowImportance">[supports C/C++
  118. language]</span></li>
  119. <li><span class="normalImportance">processing time</span>
  120. per file <span class="lowImportance">[supports any
  121. file]</span></li>
  122. </ul>
  123. </li>
  124. <li><h4>Analysis tools</h4>
  125. <ul>
  126. <li><span class="normalImportance">export.py</span> -
  127. exporter to xml, python or plain text of detailed
  128. information per file and/or aggregated information per
  129. file or directory <span
  130. class="lowImportance">[aggregated data includes <span
  131. class="normalImportance">sum</span>, <span
  132. class="normalImportance">maximum</span>, <span
  133. class="normalImportance">minimum</span>, <span
  134. class="normalImportance">average</span> within a subset
  135. of selected files or directories]</span></li>
  136. <li><span class="normalImportance">limit.py</span> - a
  137. tool to report regions exceeding speified thresholds,
  138. which are configurable (output is plain text with
  139. metadata compatible with gcc compiler warning
  140. messages)</li>
  141. </ul>
  142. </li>
  143. </ul>
  144. <h3 id="Download">Download &amp; Installation</h3>
  145. <p>For the installation of the <span
  146. class="normalImportance">Metrix++</span> <a
  147. href="http://sourceforge.net/projects/swi/files/">download</a>
  148. the archive and unpack it to some folder. Also, you have got an
  149. option to get the <a
  150. href="http://swi.svn.sourceforge.net/viewvc/swi/">source
  151. code</a> from the version conrol sytem.</p>
  152. <h4>Prerequisites:</h4>
  153. <p>Python Runtime Environment (version 2.7.0 or later, version
  154. 3.0 has not been tested)</p>
  155. <h4>License:</h4>
  156. <p>This program is free software; you can redistribute it
  157. and/or modify it under the terms of the GNU General Public
  158. License as published by the Free Software Foundation; version 3
  159. of the License.</p>
  160. <p>This program is distributed in the hope that it will be
  161. useful, but WITHOUT ANY WARRANTY; without even the implied
  162. warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  163. PURPOSE. See the GNU General Public License for more
  164. details.</p>
  165. <p>You should have received a copy of the GNU General Public
  166. License along with the <span
  167. class="normalImportance">Metriix++</span>; if not, contact <a
  168. href="mailto:avkonst@users.sourceforge.net">Project
  169. Administrator</a> and write to the Free Software Foundation,
  170. Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
  171. USA.</p>
  172. <h3 id="Documentation">Documentation</h3>
  173. <p>Tools are self-descriptive and have got comprehensive
  174. context help. Type in you command line: python
  175. &lt;tool-name&gt;.py --help</p>
  176. <h4>Known Limitations</h4>
  177. <p>Check 'doc/limitations.txt' file distributed with the tool
  178. or browse for recent version <a
  179. href="http://swi.svn.sourceforge.net/viewvc/swi/mainline/doc/limitations.txt">online</a>.</p>
  180. <h4>Basic Workflow</h4>
  181. <p>TBD</p>
  182. <h4>Dealing Legacy Code</h4>
  183. <p>TBD</p>
  184. <h3 id="Support">Bug Report &amp; Feature Request</h3>
  185. <p>Any types of enquiries are welcomed by e-mail to <a
  186. href="mailto:avkonst@users.sourceforge.net">project
  187. administrator</a>.</p>
  188. <h3 id="Createplugin">Create Plugin</h3>
  189. <p>Please, consider to join the project and <span
  190. class="normalImportance">contribute to the development</span>
  191. of the engine or <span class="normalImportance">include you
  192. plugins into the standard set</span> of plugins distributed
  193. together with this tool. Contact <a
  194. href="mailto:avkonst@users.sourceforge.net">project
  195. administrator</a> by e-mail.</p>
  196. <h4>New Metric</h4>
  197. <p>TBD</p>
  198. <h4>New Analysis Tool</h4>
  199. <p>TBD</p>
  200. <h4>New Language Support</h4>
  201. <p>TBD</p>
  202. <h4>Source Code Repository</h4>
  203. <p>Source code is in the Subversion <a
  204. href="http://swi.svn.sourceforge.net/viewvc/swi/mainline/">repository</a>
  205. used by the project.</p>
  206. </td>
  207. </tr>
  208. </tbody>
  209. </table>
  210. <hr />
  211. </td>
  212. </tr>
  213. <tr>
  214. <td colspan="2">
  215. <div align="center">
  216. <p align="right">Copyright <strong>&copy; </strong>2009 - 2013<br />
  217. <a href="mailto:avkonst@users.sourceforge.net"><span
  218. class="normalImportance">Metrix++</span> Project</a></p>
  219. <p align="right">License: <a
  220. href="http://www.gnu.org/licenses/gpl.txt">GPL</a></p>
  221. </div>
  222. </td>
  223. </tr>
  224. </tbody>
  225. </table>
  226. </body>
  227. </html>