project.html 10 KB

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