<?xml version="1.0" encoding="iso-8859-5"?> <!-- Metrix++, Copyright 2009-2013, Metrix++ Project Link: http://swi.sourceforge.net This file is part of Metrix++ Tool. Metrix++ is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License. Metrix++ is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Metrix++. If not, see <http://www.gnu.org/licenses/>. --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-5" /> <title>Metrix++ Project</title> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <table border="0" align="center" cellpadding="0" cellspacing="0" width="800"> <tbody> <tr> <td></td> <td valign="middle"></td> </tr> <tr> <td><img src="logo_project.png" alt="Software Index Project Page" /></td> <td valign="top"> <div align="right"> <p>�</p> <p align="center"><a href="http://sourceforge.net/projects/swi" class="lowImportance"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=275605&type=13" alt="Get Software Index at SourceForge.net. Fast, secure and Free Open Source software downloads" border="0" /></a></p> <p align="center"><script type="text/javascript" src="http://www.ohloh.net/p/485947/widgets/project_users_logo.js"> </script> </p> </div> </td> </tr> <tr> <td colspan="2"><hr /> </td> </tr> <tr> <td colspan="2" class="highImportance" style="text-align:center;margin-left:auto;margin-right:0;"><a href="#Overview">Overview</a> | <a href="#Download">Download</a> | <a href="#Documentation">Documentation</a> | <a href="#Support">Bur report</a> | <a href="#Support">Feature request</a> | <a href="#Createplugin">Create plugin</a></td> </tr> <tr> <td colspan="2"><hr /> </td> </tr> <tr> <td colspan="2" valign="top"> <table width="100%" border="0" cellspacing="0" cellpadding="10"> <tbody> <tr> <td valign="top"><h3 id="Overview">Overview</h3> <p><span class="normalImportance">Metrix++</span> is the platform to collect and analyse code metrics.</p> <ul> <li>It has got plugin based architecture, so it is easy to add support for new languages and/or define new metrics and/or create new pre- and post-processing tools.</li> <li>Every metric has got 'turn-on' and other configuration options.</li> <li>There is no predefined thresholds for metrics or rules. You can choose and configure any limit you want.</li> <li>It scales well to big code bases. For example initial parsing of about 10000 files takes 2-3 minutes on average PC, and ONLY 10-20 seconds for iterative re-run. Reporting of summary result and exceeded limits is less than 1 - 10 seconds.</li> <li>It can compare results for 2 code snapshots (collections) and differentiate added regions (classes, functions, etc.), modified regions and unchanged regions.</li> <li>As a result, easy deployment is guaranteed into legacy software, helping you to deal with legacy code effiently - either enforce 'leave it not worse than it was before' rule or motivate re-factoring.</li> </ul> <h4>Standard Plugins</h4> <p>The distributive includes a set of standard plugins:</p> <ul> <li><h4>Code parsers</h4> <ul> <li><span class="normalImportance">C/C++</span> parser recognises definition of namespaces, definition of classes/structs (including enclosed in functions) and definition of functions/operators </li> </ul> </li> <li><h4>Metrics</h4> <ul> <li><span class="normalImportance">cyclomatic complexity</span> (by McCabe) per function <span class="lowImportance">[supports C/C++ language]</span></li> <li><span class="normalImportance">mismatched brackets</span> '{}'' per file <span class="lowImportance">[supports C/C++ language]</span></li> <li><span class="normalImportance">processing time</span> per file <span class="lowImportance">[supports any file]</span></li> </ul> </li> <li><h4>Analysis tools</h4> <ul> <li><span class="normalImportance">export.py</span> - exporter to xml, python or plain text of detailed information per file and/or aggregated information per file or directory <span class="lowImportance">[aggregated data includes <span class="normalImportance">sum</span>, <span class="normalImportance">maximum</span>, <span class="normalImportance">minimum</span>, <span class="normalImportance">average</span> within a subset of selected files or directories]</span></li> <li><span class="normalImportance">limit.py</span> - a tool to report regions exceeding speified thresholds, which are configurable (output is plain text with metadata compatible with gcc compiler warning messages)</li> </ul> </li> </ul> <h3 id="Download">Download & Installation</h3> <p>For the installation of the <span class="normalImportance">Metrix++</span> <a href="http://sourceforge.net/projects/swi/files/">download</a> the archive and unpack it to some folder. Also, you have got an option to get the <a href="http://swi.svn.sourceforge.net/viewvc/swi/">source code</a> from the version conrol sytem.</p> <h4>Prerequisites:</h4> <p>Python Runtime Environment (version 2.7.0 or later, version 3.0 has not been tested)</p> <h4>License:</h4> <p>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 3 of the License.</p> <p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p> <p>You should have received a copy of the GNU General Public License along with the <span class="normalImportance">Metriix++</span>; if not, contact <a href="mailto:avkonst@users.sourceforge.net">Project Administrator</a> and write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</p> <h3 id="Documentation">Documentation</h3> <p>Tools are self-descriptive and have got comprehensive context help. Type in you command line: python <tool-name>.py --help</p> <h4>Known Limitations</h4> <p>Check 'doc/limitations.txt' file distributed with the tool or browse for recent version <a href="http://swi.svn.sourceforge.net/viewvc/swi/mainline/doc/limitations.txt">online</a>.</p> <h4>Basic Workflow</h4> <p>TBD</p> <h4>Dealing Legacy Code</h4> <p>TBD</p> <h3 id="Support">Bug Report & Feature Request</h3> <p>Any types of enquiries are welcomed by e-mail to <a href="mailto:avkonst@users.sourceforge.net">project administrator</a>.</p> <h3 id="Createplugin">Create Plugin</h3> <p>Please, consider to join the project and <span class="normalImportance">contribute to the development</span> of the engine or <span class="normalImportance">include you plugins into the standard set</span> of plugins distributed together with this tool. Contact <a href="mailto:avkonst@users.sourceforge.net">project administrator</a> by e-mail.</p> <h4>New Metric</h4> <p>TBD</p> <h4>New Analysis Tool</h4> <p>TBD</p> <h4>New Language Support</h4> <p>TBD</p> <h4>Source Code Repository</h4> <p>Source code is in the Subversion <a href="http://swi.svn.sourceforge.net/viewvc/swi/mainline/">repository</a> used by the project.</p> </td> </tr> </tbody> </table> <hr /> </td> </tr> <tr> <td colspan="2"> <div align="center"> <p align="right">Copyright <strong>© </strong>2009 - 2013<br /> <a href="mailto:avkonst@users.sourceforge.net"><span class="normalImportance">Metrix++</span> Project</a></p> <p align="right">License: <a href="http://www.gnu.org/licenses/gpl.txt">GPL</a></p> </div> </td> </tr> </tbody> </table> </body> </html>