Files
codeql/python/ql/src/Metrics/FLinesOfCode.qhelp
2018-11-19 15:10:42 +00:00

38 lines
1.3 KiB
XML

<!DOCTYPE qhelp PUBLIC
"-//Semmle//qhelp//EN"
"qhelp.dtd">
<qhelp>
<overview>
<p>This metric measures the number of lines of code in each file. The value excludes docstrings, comments and
blank lines.</p>
<p>Organizing source into very large files is not recommended because:</p>
<ul><li>it can be difficult to understand and maintain the code, even with good support from
development tools</li>
<li>it increases the risk that multiple developers will work on the same file at once, and increases the
incidence of merge conflicts</li>
<li>it may be a symptom of weak code organization, where many different features are handled by functions in
a single file.</li>
</ul>
</overview>
<recommendation>
<p>The solution depends on the underlying cause:</p>
<ul><li>if individual classes or functions are too large then they should be refactored into smaller
modules</li>
<li>if the class contains many classes or functions, they should be
moved to their own modules (sometimes in a subsidiary module, where appropriate)</li>
<li>if the file has been automatically generated by a tool, then it should be left alone.</li>
</ul>
</recommendation>
<references>
<li>M. Fowler, <em>Refactoring</em>. Addison-Wesley, 1999.</li>
<li>Wikipedia: <a href="https://en.wikipedia.org/wiki/Code_refactoring">Code refactoring</a>.</li>
</references>
</qhelp>