cppdepend
report summary
application nameDoom3 (v1.0.0.0)report build date03/16/2017 16:43:59analysis duration01:09:06cppdepend
version
2017.1.0.8903 Professional Developer Editionbaseline for comparisonBaseline is same code base snapshot.code coverage data
Not Defined. To import Code Coverage Data, please read this online documentation.
Get started.Quick tips.Back to CppDepend.
The present HTML report is a summary of data gathered by the analysis.
It is recommended to use the CppDepend interactive UI capabilities
to make the most of CppDepend by mastering all aspects of your code.
It is recommended to use the CppDepend interactive UI capabilities
to make the most of CppDepend by mastering all aspects of your code.
Diagrams
Application Metrics
Note: Further Application Statistics are available.
|
Quality Gates summary
902
can be stopped upon quality gate
failure. Online documentation.

be run on the baseline. Hence they
have blank trend and baseline status.
Name | Trend | Baseline Value | Value | Group | |||
---|---|---|---|---|---|---|---|
| ![]() | Project Rules \ Quality Gates | |||||
| ![]() | Project Rules \ Quality Gates | |||||
| ![]() | Project Rules \ Quality Gates | |||||
| ![]() | ![]() | ![]() | Project Rules \ Quality Gates | |||
| ![]() | ![]() | ![]() | Project Rules \ Quality Gates | |||
| ![]() | Project Rules \ Quality Gates | |||||
| ![]() | ![]() | ![]() | Project Rules \ Quality Gates | |||
| ![]() | ![]() | ![]() | Project Rules \ Quality Gates | |||
| ![]() | Project Rules \ Quality Gates | |||||
| ![]() | ![]() | ![]() | Project Rules \ Quality Gates | |||
| ![]() | Project Rules \ Quality Gates |
Showing 1 to 11 of 11 entries
Rules summary
247253- Number of Rules or Queries with Error (syntax error, exception thrown, time-out): 0
- Number of Rules violated: 28

VisualCppDepend.
Online documentation.

run on the baseline. Hence they
have blank # Issues Fixed or Added.
Name | # Issues | Added | Fixed | Elements | Group | |||
---|---|---|---|---|---|---|---|---|
| 256 | 0 | 0 | types | Project Rules \ Code Smells | |||
| 255 | 0 | 0 | types | Project Rules \ Code Smells | |||
| 164 | 0 | 0 | types | Project Rules \ Code Smells | |||
| 1811 | 0 | 0 | methods | Project Rules \ Code Smells | |||
| 204 | 0 | 0 | methods | Project Rules \ Code Smells | |||
| 291 | 0 | 0 | methods | Project Rules \ Code Smells | |||
| 195 | 0 | 0 | methods | Project Rules \ Code Smells | |||
| 1957 | 0 | 0 | methods | Project Rules \ Code Smells | |||
| 101 | 0 | 0 | types | Project Rules \ Code Smells | |||
| 16 | 0 | 0 | types | Project Rules \ Object Oriented Design | |||
| 186 | 0 | 0 | types | Project Rules \ Object Oriented Design | |||
| 3 | 0 | 0 | methods | Project Rules \ Object Oriented Design | |||
| 636 | 0 | 0 | fields | Project Rules \ Object Oriented Design | |||
| 20 | 0 | 0 | types | Project Rules \ Object Oriented Design | |||
| 188 | 0 | 0 | types | Project Rules \ Object Oriented Design | |||
| 5 | 0 | 0 | projects | Project Rules \ Object Oriented Design | |||
| 1 | 0 | 0 | project | Project Rules \ Object Oriented Design | |||
| 32 | 0 | 0 | types | Project Rules \ Object Oriented Design | |||
| 55 | 0 | 0 | types | Project Rules \ Dead Code | |||
| 103 | 0 | 0 | methods | Project Rules \ Dead Code | |||
| 68 | 0 | 0 | fields | Project Rules \ Dead Code | |||
| 10 | 0 | 0 | fields | Project Rules \ Naming Conventions | |||
| 10 | 0 | 0 | fields | Project Rules \ Naming Conventions | |||
| 6 | 0 | 0 | types | Project Rules \ Naming Conventions | |||
| 10 | 0 | 0 | types | Project Rules \ Naming Conventions |
Showing 1 to 25 of 28 entries
Application Statistics
Stat | # Occurences | Avg | StdDev | Max |
---|---|---|---|---|
Properties on interfaces | interfaces | 0 | 0 | -1 properties on |
Methods on interfaces | interfaces | 0 | 0 | -1 methods on |
Arguments on methods on interfaces | methods | 0 | 0 | -1 arguments on |
Public properties on classes | 967 Classes | 0.49 | 11.26 | 307 public properties on __Globals |
Public methods on classes | 967 classes | 24.96 | 98.29 | 2919 public methods on __Globals |
Arguments on public methods on classes | 24,132 methods | 1.13 | 1.35 | 16 arguments on idMat4.idMat4(constfloat,constfloat,constfloat,constfloat,constfloat,constfloat,constfloat,constfloat,constfloat,constfloat,constfloat,constfloat,constfloat,constfloat,constfloat,constfloat) |
IL instructions in non-abstract methods | 27,910 methods | 0.25 | 0.65 | 17 IL instructions in __Globals.TestDot() |
Cyclomatic complexity on non abstract Methods | 27,910 Methods | 0.39 | 1.37 | CC = 42 for idWindow.Parse(idParser*,bool) |
Projects Metrics
If you wish to define thresholds on Projects' Code Metrics, consider writing some Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Projects | # lines of code | # IL instruction | # Types | # Abstract Types | # lines of comment | % Comment | % Coverage | Afferent Coupling | Efferent Coupling | Relational Cohesion | Instability | Abstractness | Distance |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
libs v1.0.0.0 | 0 | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 0 | 0 | 0 | 0 |
exes v1.0.0.0 | 0 | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 0 | 0 | 0 | 0 |
dlls v1.0.0.0 | 0 | 0 | 0 | 0 | 0 | 0 | - | 0 | 0 | 0 | 0 | 0 | 0 |
idLib v1.0.0.0 | 28033 | 1025 | 113 | 2 | 10589 | 27,41702 | - | 912 | 20 | 3.99 | 0.02 | 0.03 | 0.67 |
TypeInfo v1.0.0.0 | 5111 | 134 | 63 | 0 | 2689 | 34,47436 | - | 22 | 51 | 1.48 | 0.7 | 0.02 | 0.2 |
Game v1.0.0.0 | 46666 | 950 | 367 | 4 | 26950 | 36,60889 | - | 25 | 154 | 7.14 | 0.86 | 0.01 | 0.09 |
CurlLib v1.0.0.0 | 9103 | 118 | 63 | 0 | 5427 | 37,35031 | - | 1 | 38 | 1.3 | 0.97 | 0 | 0.02 |
DoomDLL v1.0.0.0 | 128012 | 3718 | 1014 | 17 | 51716 | 28,77459 | - | 0 | 381 | 2.94 | 1 | 0.02 | 0.01 |
MayaImport v1.0.0.0 | 1259 | 42 | 23 | 0 | 457 | 26,6317 | - | 0 | 20 | 1.27 | 1 | 0 | 0 |
Game-d3xp v1.0.0.0 | 54656 | 1038 | 401 | 5 | 30495 | 35,81285 | - | 0 | 160 | 7.46 | 1 | 0.01 | 0.01 |
Types Metrics
If the code base analyzed has too many types, CppDepend doesn't list Types Metrics to avoid a too big report. The section Types Metrics can be activated by unchecking the option: CppDepend Project Properties > Report > Avoid too big report for large code base > Hide section Types Metrics if... It is recommended to use the CppDepend interactive UI capabilities to browse large applications. |
Namespaces Metrics
If you wish to define thresholds on namespaces' Code Metrics, consider writing some Code Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Namespaces | # lines of code | # IL instruction | # Types | # lines of comment | % Comment | % Coverage | Afferent Coupling | Efferent Coupling |
---|---|---|---|---|---|---|---|---|
idLib::GlobalNamespace | 28033 | 1025 | 113 | 0 | 0 | - | 5 | 1 |
TypeInfo::GlobalNamespace | 5111 | 134 | 63 | 0 | 0 | - | 2 | 3 |
Game::GlobalNamespace | 46666 | 950 | 367 | 0 | 0 | - | 1 | 3 |
CurlLib::GlobalNamespace | 9103 | 118 | 63 | 0 | 0 | - | 1 | 2 |
DoomDLL::GlobalNamespace | 128012 | 3718 | 1014 | 0 | 0 | - | 0 | 9 |
MayaImport::GlobalNamespace | 1259 | 42 | 23 | 0 | 0 | - | 0 | 5 |
Game-d3xp::GlobalNamespace | 54656 | 1038 | 401 | 0 | 0 | - | 0 | 3 |
902
Project Rules |
902
Quality Gates |
|
![]() | Quality Gate Pass: Percentage Code Coverage |
• Quality Gate Description:
Code coverage is a measure used to describe the degree to which the source code of a program is tested by a particular test suite. A program with high code coverage, measured as a percentage, has had more of its source code executed during testing which suggests it has a lower chance of containing undetected software bugs compared to a program with low code coverage.
Code coverage is certainly the most important quality code metric. But coverage is not enough the team needs to ensure that results are checked at test-time. These checks can be done both in test code, and in application code through assertions. The important part is that a test must fail explicitely when a check gets unvalidated during the test execution.
This quality gate define a warn threshold (70%) and a fail threshold (80%). These are indicative thresholds and in practice the more the better. To achieve high coverage and low risk, make sure that new and refactored classes gets 100% covered by tests and that the application and test code contains as many checks/assertions as possible.View Query Description
Code coverage is a measure used to describe the degree to which the source code of a program is tested by a particular test suite. A program with high code coverage, measured as a percentage, has had more of its source code executed during testing which suggests it has a lower chance of containing undetected software bugs compared to a program with low code coverage.
Code coverage is certainly the most important quality code metric. But coverage is not enough the team needs to ensure that results are checked at test-time. These checks can be done both in test code, and in application code through assertions. The important part is that a test must fail explicitely when a check gets unvalidated during the test execution.
This quality gate define a warn threshold (70%) and a fail threshold (80%). These are indicative thresholds and in practice the more the better. To achieve high coverage and low risk, make sure that new and refactored classes gets 100% covered by tests and that the application and test code contains as many checks/assertions as possible.View Query Description
Scalar Result: N/A %
![]() | Quality Gate Pass: Percentage Coverage on New Code |
• Quality Gate Description:
New Code is defined as methods added since the baseline.
To achieve high code coverage it is essential that new code gets properly tested and covered by tests. It is advised that all non-UI new classes gets 100% covered.
Typically 90% of a class is easy to cover by tests and 10% is hard to reach through tests. It means that this 10% remaining is not easily testable, which means it is not well designed, which often means that this code is especially error-prone. This is the reason why it is important to reach 100% coverage for a class, to make sure that potentially error-prone code gets tested.View Query Description
New Code is defined as methods added since the baseline.
To achieve high code coverage it is essential that new code gets properly tested and covered by tests. It is advised that all non-UI new classes gets 100% covered.
Typically 90% of a class is easy to cover by tests and 10% is hard to reach through tests. It means that this 10% remaining is not easily testable, which means it is not well designed, which often means that this code is especially error-prone. This is the reason why it is important to reach 100% coverage for a class, to make sure that potentially error-prone code gets tested.View Query Description
Scalar Result: N/A %
![]() | Quality Gate Pass: Percentage Coverage on Refactored Code |
• Quality Gate Description:
Refactored Code is defined as methods where code was changed since the baseline.
Comment changes and formatting changes are not considerd as refactoring.
To achieve high code coverage it is essential that refactored code gets properly tested and covered by tests. It is advised that when refactoring a class or a method, it is important to also write tests to make sure it gets 100% covered.
Typically 90% of a class is easy to cover by tests and 10% is hard to reach through tests. It means that this 10% remaining is not easily testable, which means it is not well designed, which often means that this code is especially error-prone. This is the reason why it is important to reach 100% coverage for a class, to make sure that potentially error-prone code gets tested.View Query Description
Refactored Code is defined as methods where code was changed since the baseline.
Comment changes and formatting changes are not considerd as refactoring.
To achieve high code coverage it is essential that refactored code gets properly tested and covered by tests. It is advised that when refactoring a class or a method, it is important to also write tests to make sure it gets 100% covered.
Typically 90% of a class is easy to cover by tests and 10% is hard to reach through tests. It means that this 10% remaining is not easily testable, which means it is not well designed, which often means that this code is especially error-prone. This is the reason why it is important to reach 100% coverage for a class, to make sure that potentially error-prone code gets tested.View Query Description
Scalar Result: N/A %
![]() | Quality Gate Pass: Blocker Issues |
• Quality Gate Description:
An issue with the severity Blocker cannot move to production, it must be fixed.
The severity of an issue is either defined explicitely in the rule source code, either inferred from the issue annual interest and thresholds defined in the NDepend Project Properties > Issue and Debt.View Query Description
An issue with the severity Blocker cannot move to production, it must be fixed.
The severity of an issue is either defined explicitely in the rule source code, either inferred from the issue annual interest and thresholds defined in the NDepend Project Properties > Issue and Debt.View Query Description
No issue matched
![]() | Quality Gate Fail: Critical Issues |
• Quality Gate Description:
An issue with a severity level Critical shouldn't move to production. It still can for business imperative needs purposes, but at worst it must be fixed during the next iterations.
The severity of an issue is either defined explicitely in the rule source code, either inferred from the issue annual interest and thresholds defined in the NDepend Project Properties > Issue and Debt.View Query Description
An issue with a severity level Critical shouldn't move to production. It still can for business imperative needs purposes, but at worst it must be fixed during the next iterations.
The severity of an issue is either defined explicitely in the rule source code, either inferred from the issue annual interest and thresholds defined in the NDepend Project Properties > Issue and Debt.View Query Description
21 issues matched
21 issues | Severity | Debt | Annual Interest | Full Name |
---|---|---|---|---|
Critical issue on: idPlayer | 06Critical | 121d 2h | 062h 0min | Rule violated: Avoid types too big |
Critical issue on: idPlayer | 05Critical | 061d 2h | 052h 0min | Rule violated: Avoid types too big |
Critical issue on: idAI | 07Critical | 051d 2h | 072h 0min | Rule violated: Avoid types too big |
Critical issue on: idCollisionModelManagerLocal | 09Critical | 071d 2h | 092h 0min | Rule violated: Avoid types too big |
Critical issue on: idGameLocal | 08Critical | 091d 2h | 082h 0min | Rule violated: Avoid types too big |
Critical issue on: idMatX | 01Critical | 081d 2h | 012h 0min | Rule violated: Avoid types too big |
Critical issue on: idGameLocal | 00Critical | 011d 2h | 002h 0min | Rule violated: Avoid types too big |
Critical issue on: idMultiplayerGame | 02Critical | 001d 2h | 022h 0min | Rule violated: Avoid types too big |
Critical issue on: idSessionLocal | 04Critical | 021d 2h | 042h 0min | Rule violated: Avoid types too big |
Critical issue on: CMainFrame | 03Critical | 041d 2h | 032h 0min | Rule violated: Avoid types too big |
Critical issue on: idSIMD_SSE | 10Critical | 031d 2h | 102h 0min | Rule violated: Avoid types too big |
Critical issue on: idRenderWorldLocal | 17Critical | 161d 2h | 172h 0min | Rule violated: Avoid types too big |
Critical issue on: CMainFrame | 16Critical | 151d 2h | 162h 0min | Rule violated: Avoid types with too many methods |
Critical issue on: idAI | 18Critical | 181d 2h | 182h 0min | Rule violated: Avoid types with too many methods |
Critical issue on: idAI | 20Critical | 171d 2h | 202h 0min | Rule violated: Avoid types with too many methods |
Critical issue on: idPlayer | 19Critical | 141d 2h | 192h 0min | Rule violated: Avoid types with too many methods |
Critical issue on: idEntity | 12Critical | 111d 2h | 122h 0min | Rule violated: Avoid types with too many methods |
Critical issue on: idEntity | 11Critical | 101d 2h | 112h 0min | Rule violated: Avoid types with too many methods |
Critical issue on: idPlayer | 13Critical | 131d 2h | 132h 0min | Rule violated: Avoid types with too many methods |
Critical issue on: idMat6.InverseSelf() | 15Critical | 206h 0min | 152h 0min | Rule violated: Avoid methods with too many local variables |
Critical issue on: idMat5.InverseSelf() | 14Critical | 196h 0min | 142h 0min | Rule violated: Avoid methods with too many local variables |
Statistics
Stat | Severity | Debt | Annual Interest |
---|---|---|---|
Sum: | - | 25d | 5d 2h |
Average: | - | 1d 1h | 2h 0min |
Minimum: | - | 6h 0min | 2h 0min |
Maximum: | - | 1d 2h | 2h 0min |
Standard deviation: | - | 1h 10min | 0min 0s |
Variance: | - | 620d | 0min 0s |
![]() | Quality Gate Pass: New Blocker / Critical / High Issues |
• Quality Gate Description:
An issue with the severity Blocker cannot move to production, it must be fixed.
An issue with a severity level Critical shouldn't move to production. It still can for business imperative needs purposes, but at worth it must be fixed during the next iterations.
An issue with a severity level High should be fixed quickly, but can wait until the next scheduled interval.
The severity of an issue is either defined explicitely in the rule source code, either inferred from the issue annual interest and thresholds defined in the NDepend Project Properties > Issue and Debt.View Query Description
An issue with the severity Blocker cannot move to production, it must be fixed.
An issue with a severity level Critical shouldn't move to production. It still can for business imperative needs purposes, but at worth it must be fixed during the next iterations.
An issue with a severity level High should be fixed quickly, but can wait until the next scheduled interval.
The severity of an issue is either defined explicitely in the rule source code, either inferred from the issue annual interest and thresholds defined in the NDepend Project Properties > Issue and Debt.View Query Description
No issue matched
![]() | Quality Gate Fail: Critical Rules Violated |
• Quality Gate Description:
The concept of critical rule is useful to pinpoint certain rules that should not be violated.
A rule can be made critical just by checking the Critical button in the rule edition control and then saving the rule.
This quality gate fails if any critical rule gets any violations.
When no baseline is available, rules that rely on diff are not counted. If you observe that this quality gate count slightly decreases with no apparent reason, the reason is certainly that rules that rely on diff are not counted because the baseline is not defined.View Query Description
The concept of critical rule is useful to pinpoint certain rules that should not be violated.
A rule can be made critical just by checking the Critical button in the rule edition control and then saving the rule.
This quality gate fails if any critical rule gets any violations.
When no baseline is available, rules that rely on diff are not counted. If you observe that this quality gate count slightly decreases with no apparent reason, the reason is certainly that rules that rely on diff are not counted because the baseline is not defined.View Query Description
3 rules matched
3 rules | issues | Full Name |
---|---|---|
Avoid types too big | 1256 issues | Rule |
Avoid methods too big, too complex | 01 811 issues | Rule |
Avoid methods with too many parameters | 2204 issues | Rule |
Statistics
Stat | issues |
---|---|
Sum: | 2 271 |
Average: | 757 |
Minimum: | 204 |
Maximum: | 1 811 |
Standard deviation: | 745.59 |
Variance: | 555 909 |
![]() | Quality Gate Pass: Percentage Debt |
• Quality Gate Description:
% Debt total is defined as a percentage on:
• the estimated total effort to develop the code base
• and the the estimated total time to fix all issues (the Debt)
Estimated total effort to develop the code base is inferred from # lines of code of the code base and from the Estimated number of man-dat to develop 1000 logicial lines of code setting found in NDepend Project Properties > Issue and Debt.
Debt documentation: http://www.ndepend.com/Doc_TechnicalDebt#Debt
This quality gates fails if the estimated debt is more than 30% of the estimated effort to develop the code base, and warns if the estimated debt is more than 20% of the estimated effort to develop the code baseView Query Description
% Debt total is defined as a percentage on:
• the estimated total effort to develop the code base
• and the the estimated total time to fix all issues (the Debt)
Estimated total effort to develop the code base is inferred from # lines of code of the code base and from the Estimated number of man-dat to develop 1000 logicial lines of code setting found in NDepend Project Properties > Issue and Debt.
Debt documentation: http://www.ndepend.com/Doc_TechnicalDebt#Debt
This quality gates fails if the estimated debt is more than 30% of the estimated effort to develop the code base, and warns if the estimated debt is more than 20% of the estimated effort to develop the code baseView Query Description
Scalar Result: 10.54 %
![]() | Quality Gate Pass: New Debt since Baseline |
• Quality Gate Description:
This Quality Gate fails if the estimated effort to fix new or worsened issues (what is called the New Debt since Baseline) is higher than 2 man-days.
This Quality Gate warns if this estimated effort is positive.
Debt documentation: http://www.ndepend.com/Doc_TechnicalDebt#DebtView Query Description
This Quality Gate fails if the estimated effort to fix new or worsened issues (what is called the New Debt since Baseline) is higher than 2 man-days.
This Quality Gate warns if this estimated effort is positive.
Debt documentation: http://www.ndepend.com/Doc_TechnicalDebt#DebtView Query Description
Scalar Result: 0 man-days
![]() | Quality Gate Pass: Debt Rating per Namespace |
• Quality Gate Description:
Forbid namespaces with a poor Debt Rating equals to E or D.
The Debt Rating for a code element is estimated by the value of the Debt Ratio and from the various rating thresholds defined in this project Debt Settings.
The Debt Ratio of a code element is a percentage of Debt Amount (in floating man-days) compared to the estimated effort to develop the code element (also in floating man-days).
The estimated effort to develop the code element is inferred from the code elements number of lines of code, and from the project Debt Settings parameters estimated number of man-days to develop 1000 logical lines of code.
The logical lines of code corresponds to the number of debug breakpoints in a method and doesn't depend on code formatting nor comments.
The Quality Gate can be modified to match assemblies, types or methods with a poor Debt Rating, instead of matching namespaces.View Query Description
Forbid namespaces with a poor Debt Rating equals to E or D.
The Debt Rating for a code element is estimated by the value of the Debt Ratio and from the various rating thresholds defined in this project Debt Settings.
The Debt Ratio of a code element is a percentage of Debt Amount (in floating man-days) compared to the estimated effort to develop the code element (also in floating man-days).
The estimated effort to develop the code element is inferred from the code elements number of lines of code, and from the project Debt Settings parameters estimated number of man-days to develop 1000 logical lines of code.
The logical lines of code corresponds to the number of debug breakpoints in a method and doesn't depend on code formatting nor comments.
The Quality Gate can be modified to match assemblies, types or methods with a poor Debt Rating, instead of matching namespaces.View Query Description
No namespace matched
![]() | Quality Gate Pass: New Annual Interest since Baseline |
• Quality Gate Description:
This Quality Gate fails if the estimated annual cost to leave all issues unfixed, increased from more than 2 man-days since the baseline.
This Quality Gate warns if this estimated annual cost is positive.
This estimated annual cost is named the Annual-Interest.
Each rule can either provide a formula to compute the Annual-Interest per issue, or assign a Severity level for each issue. Some thresholds defined in Project Properties > Issue and Debt > Annual Interest are used to infer an Annual-Interest value from a Severity level. Annual Interest documentation: http://www.ndepend.com/Doc_TechnicalDebt#AnnualInterestView Query Description
This Quality Gate fails if the estimated annual cost to leave all issues unfixed, increased from more than 2 man-days since the baseline.
This Quality Gate warns if this estimated annual cost is positive.
This estimated annual cost is named the Annual-Interest.
Each rule can either provide a formula to compute the Annual-Interest per issue, or assign a Severity level for each issue. Some thresholds defined in Project Properties > Issue and Debt > Annual Interest are used to infer an Annual-Interest value from a Severity level. Annual Interest documentation: http://www.ndepend.com/Doc_TechnicalDebt#AnnualInterestView Query Description
Scalar Result: 0 man-days
247253
Project Rules |
063
Code Smells |
|
![]() | Critical Rule Violated: Avoid types too big |
• Rule Description:
This rule matches types with more than 200 lines of code. Only lines of code in JustMyCode methods are taken account.
Types where NbLinesOfCode > 200 are extremely complex to develop and maintain. See the definition of the NbLinesOfCode metric here http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode
Maybe you are facing the God Class phenomenon: A God Class is a class that controls way too many other classes in the system and has grown beyond all logic to become The Class That Does Everything.
• How to Fix Issues:
Types with many lines of code should be split in a group of smaller types.
To refactor a God Class you'll need patience, and you might even need to recreate everything from scratch. Here are a few refactoring advices:
• The logic in the God Class must be splitted in smaller classes. These smaller classes can eventually become private classes nested in the original God Class, whose instances objects become composed of instances of smaller nested classes.
• Smaller classes partitioning should be driven by the multiple responsibilities handled by the God Class. To identify these responsibilities it often helps to look for subsets of methods strongly coupled with subsets of fields.
• If the God Class contains way more logic than states, a good option can be to define one or several static classes that contains no static field but only pure static methods. A pure static method is a function that computes a result only from inputs parameters, it doesn't read nor assign any static or instance field. The main advantage of pure static methods is that they are easily testable.
• Try to maintain the interface of the God Class at first and delegate calls to the new extracted classes. In the end the God Class should be a pure facade without its own logic. Then you can keep it for convenience or throw it away and start to use the new classes only.
• Unit Tests can help: write tests for each method before extracting it to ensure you don't break functionality.
The estimated Debt, which means the effort to fix such issue, varies linearly from 1 hour for a 200 lines of code type, up to 10 hours for a type with 2.000 or more lines of code.
In Debt and Interest computation, this rule takes account of the fact that static types with no mutable fields are just a collection of static methods that can be easily splitted and moved from one type to another.View Rule Description
This rule matches types with more than 200 lines of code. Only lines of code in JustMyCode methods are taken account.
Types where NbLinesOfCode > 200 are extremely complex to develop and maintain. See the definition of the NbLinesOfCode metric here http://www.cppdepend.com/Metrics.aspx#NbLinesOfCode
Maybe you are facing the God Class phenomenon: A God Class is a class that controls way too many other classes in the system and has grown beyond all logic to become The Class That Does Everything.
• How to Fix Issues:
Types with many lines of code should be split in a group of smaller types.
To refactor a God Class you'll need patience, and you might even need to recreate everything from scratch. Here are a few refactoring advices:
• The logic in the God Class must be splitted in smaller classes. These smaller classes can eventually become private classes nested in the original God Class, whose instances objects become composed of instances of smaller nested classes.
• Smaller classes partitioning should be driven by the multiple responsibilities handled by the God Class. To identify these responsibilities it often helps to look for subsets of methods strongly coupled with subsets of fields.
• If the God Class contains way more logic than states, a good option can be to define one or several static classes that contains no static field but only pure static methods. A pure static method is a function that computes a result only from inputs parameters, it doesn't read nor assign any static or instance field. The main advantage of pure static methods is that they are easily testable.
• Try to maintain the interface of the God Class at first and delegate calls to the new extracted classes. In the end the God Class should be a pure facade without its own logic. Then you can keep it for convenience or throw it away and start to use the new classes only.
• Unit Tests can help: write tests for each method before extracting it to ensure you don't break functionality.
The estimated Debt, which means the effort to fix such issue, varies linearly from 1 hour for a 200 lines of code type, up to 10 hours for a type with 2.000 or more lines of code.
In Debt and Interest computation, this rule takes account of the fact that static types with no mutable fields are just a collection of static methods that can be easily splitted and moved from one type to another.View Rule Description
256 types matched
- The following list of types is truncated and contains only the first 100 types of the 256 types matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
256 types | locJustMyCode | Methods | Fields | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|
idPlayer | 0004 581 | 002225 methods | 000196 fields | 0081d 2h | 0082h 0min | idPlayer |
idPlayer | 0014 045 | 005205 methods | 001177 fields | 0071d 2h | 0072h 0min | idPlayer |
idAI | 0023 949 | 001248 methods | 002118 fields | 0061d 2h | 0062h 0min | idAI |
idCollisionModelManagerLocal | 0033 780 | 011136 methods | 06416 fields | 0111d 2h | 0112h 0min | idCollisionModelManagerLocal |
idGameLocal | 0043 144 | 006163 methods | 00597 fields | 0101d 2h | 0102h 0min | idGameLocal |
idMatX | 0052 918 | 007162 methods | 0887 fields | 0091d 2h | 0092h 0min | idMatX |
idGameLocal | 0062 857 | 008156 methods | 00687 fields | 0021d 2h | 0022h 0min | idGameLocal |
idMultiplayerGame | 0072 300 | 019110 methods | 01156 fields | 0011d 2h | 0012h 0min | idMultiplayerGame |
idSessionLocal | 0082 170 | 02397 methods | 00781 fields | 0001d 2h | 0002h 0min | idSessionLocal |
CMainFrame | 0092 107 | 000411 methods | 05119 fields | 0051d 2h | 0052h 0min | CMainFrame |
idSIMD_SSE | 0102 099 | 02984 methods | 097no field | 0041d 2h | 0042h 0min | idSIMD_SSE |
idRenderWorldLocal | 0112 033 | 020102 methods | 04920 fields | 0031d 2h | 0032h 0min | idRenderWorldLocal |
idWindow | 0121 968 | 010137 methods | 01069 fields | 0121d 1h | 0121h 57min | idWindow |
idMultiplayerGame | 0131 917 | 02590 methods | 01350 fields | 0131d 1h | 0131h 54min | idMultiplayerGame |
idFileSystemLocal | 0141 792 | 02786 methods | 03133 fields | 0141d 0h | 0141h 46min | idFileSystemLocal |
idFileSystemLocal | 0151 785 | 02886 methods | 02933 fields | 0151d 0h | 0151h 45min | idFileSystemLocal |
idWeapon | 0161 780 | 013124 methods | 003104 fields | 0161d 0h | 0161h 45min | idWeapon |
idEntity | 0171 743 | 003219 methods | 01940 fields | 0171d 0h | 0171h 43min | idEntity |
idParser | 0181 709 | 02494 methods | 07114 fields | 0181d 0h | 0181h 40min | idParser |
idEntity | 0191 673 | 004211 methods | 02535 fields | 0191d 0h | 0191h 38min | idEntity |
idSIMD_Generic | 0201 563 | 02686 methods | 098no field | 0207h 48min | 0201h 31min | idSIMD_Generic |
idFrustum | 0211 549 | 03673 methods | 0877 fields | 0217h 44min | 0211h 30min | idFrustum |
CXYWnd | 0221 519 | 021101 methods | 02436 fields | 0227h 35min | 0221h 28min | CXYWnd |
idMaterial | 0231 446 | 022100 methods | 01642 fields | 0237h 13min | 0231h 23min | idMaterial |
idWeapon | 0241 431 | 018110 methods | 00499 fields | 0247h 9min | 0241h 22min | idWeapon |
idAsyncServer | 0251 381 | 03278 methods | 03526 fields | 0256h 54min | 0251h 19min | idAsyncServer |
idCompiler | 0271 378 | 05652 methods | 05818 fields | 0276h 53min | 0271h 19min | idCompiler |
idCompiler | 0261 378 | 05852 methods | 05618 fields | 0266h 53min | 0261h 19min | idCompiler |
idActor | 0281 351 | 014120 methods | 01742 fields | 0286h 45min | 0281h 17min | idActor |
idPhysics_AF | 0301 341 | 016118 methods | 01250 fields | 0306h 42min | 0301h 16min | idPhysics_AF |
idPhysics_AF | 0291 341 | 015118 methods | 01550 fields | 0296h 42min | 0291h 16min | idPhysics_AF |
idActor | 0311 320 | 017113 methods | 01841 fields | 0316h 36min | 0311h 15min | idActor |
idAASLocal | 0331 275 | 03474 methods | 07015 fields | 0336h 22min | 0331h 12min | idAASLocal |
idAASLocal | 0321 275 | 03574 methods | 06915 fields | 0326h 22min | 0321h 12min | idAASLocal |
idImage | 0341 253 | 08131 methods | 03033 fields | 0346h 15min | 0341h 11min | idImage |
idInterpreter | 0361 244 | 06939 methods | 06017 fields | 0366h 13min | 0361h 10min | idInterpreter |
idInterpreter | 0351 244 | 07039 methods | 06217 fields | 0356h 13min | 0351h 10min | idInterpreter |
idAsyncClient | 0371 232 | 03867 methods | 01450 fields | 0376h 9min | 0371h 9min | idAsyncClient |
codec | 0381 186 | 09026 methods | 03426 fields | 0385h 55min | 0381h 6min | codec |
idRenderModelStatic | 0391 113 | 05554 methods | 05718 fields | 0395h 33min | 0391h 1min | idRenderModelStatic |
rvGEWorkspace | 0401 055 | 03084 methods | 03326 fields | 0405h 16min | 04058min | rvGEWorkspace |
idAASBuild | 0411 021 | 06146 methods | 0839 fields | 0415h 6min | 04155min | idAASBuild |
idSoundWorldLocal | 0421 004 | 07139 methods | 04022 fields | 0425h 1min | 04254min | idSoundWorldLocal |
idStr | 043963 | 012136 methods | 0904 fields | 0434h 48min | 04352min | idStr |
idTraceModel | 044947 | 07735 methods | 08210 fields | 0444h 44min | 04450min | idTraceModel |
CSyntaxRichEditCtrl | 045899 | 04764 methods | 02834 fields | 0454h 29min | 04547min | CSyntaxRichEditCtrl |
idLexer | 046865 | 05356 methods | 04122 fields | 0464h 19min | 04645min | idLexer |
CDialogParticleEditor | 047855 | 03377 methods | 00969 fields | 0474h 16min | 04744min | CDialogParticleEditor |
MaterialTreeView | 048854 | 03967 methods | 06815 fields | 0484h 16min | 04844min | MaterialTreeView |
idPhysics_Player | 049842 | 04066 methods | 03924 fields | 0494h 12min | 04944min | idPhysics_Player |
idPhysics_Player | 050842 | 04166 methods | 03824 fields | 0504h 12min | 05044min | idPhysics_Player |
idDeclAF | 051833 | 07337 methods | 05020 fields | 0514h 9min | 05143min | idDeclAF |
idWinding | 052804 | 06046 methods | 0923 fields | 0524h 1min | 05241min | idWinding |
idAASFileLocal | 053780 | 06840 methods | 096no field | 0533h 54min | 05340min | idAASFileLocal |
idBrushBSP | 054770 | 06243 methods | 05419 fields | 0543h 51min | 05439min | idBrushBSP |
CEntityDlg | 055757 | 03768 methods | 02138 fields | 0553h 47min | 05538min | CEntityDlg |
idAnimator | 057744 | 04963 methods | 06117 fields | 0573h 43min | 05737min | idAnimator |
idAnimator | 056744 | 04863 methods | 05917 fields | 0563h 43min | 05637min | idAnimator |
idBrittleFracture | 058739 | 08630 methods | 04422 fields | 0583h 41min | 05837min | idBrittleFracture |
idCommonLocal | 059735 | 05455 methods | 07514 fields | 0593h 40min | 05937min | idCommonLocal |
rvGEApp | 060722 | 08827 methods | 07414 fields | 0603h 36min | 06036min | rvGEApp |
CCamWnd | 061715 | 04465 methods | 03625 fields | 0613h 34min | 06135min | CCamWnd |
idBrittleFracture | 062698 | 08330 methods | 04521 fields | 0623h 29min | 06234min | idBrittleFracture |
idCinematicLocal | 063688 | 09324 methods | 02039 fields | 0633h 26min | 06333min | idCinematicLocal |
idProjectile | 064686 | 07535 methods | 04820 fields | 0643h 25min | 06433min | idProjectile |
idAF | 067662 | 07635 methods | 07214 fields | 0673h 18min | 06732min | idAF |
DialogAFBody | 066662 | 03179 methods | 02735 fields | 0663h 18min | 06632min | DialogAFBody |
idAF | 065662 | 07835 methods | 07314 fields | 0653h 18min | 06532min | idAF |
idMat6 | 068658 | 07436 methods | 0941 field | 0683h 17min | 06832min | idMat6 |
idMover | 070641 | 04665 methods | 04322 fields | 0703h 12min | 07030min | idMover |
idMover | 069641 | 04565 methods | 04222 fields | 0693h 12min | 06930min | idMover |
idProjectile | 071635 | 08230 methods | 05219 fields | 0713h 10min | 07130min | idProjectile |
idSurface | 072629 | 08926 methods | 0914 fields | 0723h 8min | 07230min | idSurface |
idAnim | 073624 | 09620 methods | 0848 fields | 0733h 7min | 07329min | idAnim |
idDeviceContext | 074623 | 06342 methods | 03229 fields | 0743h 6min | 07429min | idDeviceContext |
idGameEdit | 077608 | 05256 methods | 099no field | 0773h 2min | 07728min | idGameEdit |
idGameEdit | 076608 | 05056 methods | 095no field | 0763h 2min | 07628min | idGameEdit |
idPVS | 075608 | 07934 methods | 07612 fields | 0753h 2min | 07528min | idPVS |
idPVS | 078596 | 08033 methods | 08012 fields | 0782h 58min | 07827min | idPVS |
idAnim | 079568 | 09720 methods | 0858 fields | 0792h 50min | 07926min | idAnim |
CDIB | 080563 | 05156 methods | 06316 fields | 0802h 48min | 08025min | CDIB |
idInventory | 081557 | 09225 methods | 02336 fields | 0812h 47min | 08125min | idInventory |
idMayaExport | 082553 | 09126 methods | 0932 fields | 0822h 45min | 08225min | idMayaExport |
idGameSSDWindow | 083548 | 05948 methods | 05519 fields | 0832h 44min | 08324min | idGameSSDWindow |
idSoundSystemLocal | 084539 | 08728 methods | 00870 fields | 0842h 41min | 08424min | idSoundSystemLocal |
idPhysics_RigidBody | 086538 | 04366 methods | 04721 fields | 0862h 41min | 08624min | idPhysics_RigidBody |
idPhysics_RigidBody | 085538 | 04266 methods | 04621 fields | 0852h 41min | 08524min | idPhysics_RigidBody |
idTypeInfoGen | 089522 | 09815 methods | 0867 fields | 0892h 36min | 08923min | idTypeInfoGen |
idMD5Anim | 088522 | 09523 methods | 08112 fields | 0882h 36min | 08823min | idMD5Anim |
idMD5Anim | 087522 | 09423 methods | 07812 fields | 0872h 36min | 08723min | idMD5Anim |
idClip | 091520 | 08430 methods | 07712 fields | 0912h 36min | 09122min | idClip |
idClip | 090520 | 08530 methods | 07912 fields | 0902h 36min | 09022min | idClip |
idRenderSystemLocal | 092518 | 06641 methods | 02635 fields | 0922h 35min | 09222min | idRenderSystemLocal |
idAnimBlend | 094505 | 06441 methods | 06615 fields | 0942h 31min | 09421min | idAnimBlend |
idAnimBlend | 093505 | 06541 methods | 06715 fields | 0932h 31min | 09321min | idAnimBlend |
CDialogSound | 095504 | 05752 methods | 03725 fields | 0952h 31min | 09521min | CDialogSound |
idThread | 096497 | 009139 methods | 06516 fields | 0962h 29min | 09621min | idThread |
CDialogTextures | 097490 | 07238 methods | 05319 fields | 0972h 27min | 09721min | CDialogTextures |
idAASReach | 098487 | 09912 methods | 0895 fields | 0982h 26min | 09820min | idAASReach |
CDialogColorPicker | 099483 | 06740 methods | 02238 fields | 0992h 24min | 09920min | CDialogColorPicker |
![]() | Rule Violated: Avoid types with too many methods |
• Rule Description:
This rule matches types with more than 20 methods. Such type might be hard to understand and maintain.
Notice that methods like constructors or property and event accessors are not taken account.
Having many methods for a type might be a symptom of too many responsibilities implemented.
Maybe you are facing the God Class phenomenon: A God Class is a class that controls way too many other classes in the system and has grown beyond all logic to become The Class That Does Everything.
• How to Fix Issues:
To refactor properly a God Class please read HowToFix advices from the default rule Types to Big. // The estimated Debt, which means the effort to fix such issue, varies linearly from 1 hour for a type with 20 methods, up to 10 hours for a type with 200 or more methods.
In Debt and Interest computation, this rule takes account of the fact that static types with no mutable fields are just a collection of static methods that can be easily splitted and moved from one type to another.View Rule Description
This rule matches types with more than 20 methods. Such type might be hard to understand and maintain.
Notice that methods like constructors or property and event accessors are not taken account.
Having many methods for a type might be a symptom of too many responsibilities implemented.
Maybe you are facing the God Class phenomenon: A God Class is a class that controls way too many other classes in the system and has grown beyond all logic to become The Class That Does Everything.
• How to Fix Issues:
To refactor properly a God Class please read HowToFix advices from the default rule Types to Big. // The estimated Debt, which means the effort to fix such issue, varies linearly from 1 hour for a type with 20 methods, up to 10 hours for a type with 200 or more methods.
In Debt and Interest computation, this rule takes account of the fact that static types with no mutable fields are just a collection of static methods that can be easily splitted and moved from one type to another.View Rule Description
255 types matched
- The following list of types is truncated and contains only the first 100 types of the 255 types matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
255 types | nbMethods | instanceMethods | staticMethods | # lines of code (LOC) | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|
CMainFrame | 000410 | 000407 methods | 0273 methods | 0092 107 | 0041d 2h | 0042h 0min | CMainFrame |
idAI | 001247 | 001240 methods | 0157 methods | 0023 949 | 0051d 2h | 0052h 0min | idAI |
idAI | 002235 | 002228 methods | 0167 methods | 091230 | 0061d 2h | 0062h 0min | idAI |
idPlayer | 003224 | 003223 methods | 0481 method | 0004 581 | 0031d 2h | 0032h 0min | idPlayer |
idEntity | 004218 | 004216 methods | 0372 methods | 0171 743 | 0001d 2h | 0002h 0min | idEntity |
idEntity | 005210 | 005208 methods | 0332 methods | 0191 673 | 0011d 2h | 0012h 0min | idEntity |
idPlayer | 006204 | 006203 methods | 0391 method | 0014 045 | 0021d 2h | 0022h 0min | idPlayer |
idMatX | 007162 | 007161 methods | 0431 method | 0052 918 | 0071d 0h | 0071h 35min | idMatX |
idGameLocal | 008160 | 008156 methods | 0204 methods | 0043 144 | 0081d 0h | 0081h 33min | idGameLocal |
idGameLocal | 009153 | 009149 methods | 0244 methods | 0062 857 | 0097h 39min | 0091h 29min | idGameLocal |
idThread | 010138 | 012121 methods | 00317 methods | 061497 | 0106h 54min | 0101h 19min | idThread |
idStr | 012136 | 02590 methods | 00146 methods | 038963 | 0126h 48min | 0121h 18min | idStr |
idWindow | 011136 | 010136 methods | 069no method | 0121 968 | 0116h 48min | 0111h 18min | idWindow |
idThread | 014133 | 017116 methods | 00217 methods | 062482 | 0146h 39min | 0141h 16min | idThread |
idCollisionModelManagerLocal | 013133 | 011133 methods | 072no method | 0033 780 | 0136h 39min | 0131h 16min | idCollisionModelManagerLocal |
idWeapon | 015123 | 013118 methods | 0195 methods | 0161 780 | 0156h 9min | 0151h 9min | idWeapon |
idActor | 016119 | 014118 methods | 0441 method | 0281 351 | 0165h 57min | 0161h 6min | idActor |
idPhysics_AF | 018117 | 015116 methods | 0451 method | 0291 341 | 0185h 51min | 0181h 5min | idPhysics_AF |
idPhysics_AF | 017117 | 016116 methods | 0461 method | 0301 341 | 0175h 51min | 0171h 5min | idPhysics_AF |
idActor | 019112 | 018111 methods | 0471 method | 0311 320 | 0195h 36min | 0191h 2min | idActor |
idWeapon | 020109 | 019104 methods | 0185 methods | 0241 431 | 0205h 27min | 0201h 0min | idWeapon |
idMultiplayerGame | 021107 | 021100 methods | 0137 methods | 0072 300 | 0215h 21min | 02159min | idMultiplayerGame |
idRenderWorldLocal | 022101 | 020101 methods | 093no method | 0112 033 | 0225h 3min | 02255min | idRenderWorldLocal |
CXYWnd | 023100 | 02496 methods | 0234 methods | 0221 519 | 0235h 0min | 02354min | CXYWnd |
idMaterial | 02499 | 02299 methods | 098no method | 0231 446 | 0244h 57min | 02453min | idMaterial |
idSessionLocal | 02596 | 02396 methods | 099no method | 0082 170 | 0254h 48min | 02551min | idSessionLocal |
idParser | 02694 | 02686 methods | 0098 methods | 0181 709 | 0264h 42min | 02650min | idParser |
idMultiplayerGame | 02787 | 03280 methods | 0117 methods | 0131 917 | 0274h 21min | 02745min | idMultiplayerGame |
idBitMsg | 02984 | 02982 methods | 0362 methods | 070366 | 0294h 12min | 02943min | idBitMsg |
rvGEWorkspace | 02884 | 03180 methods | 0224 methods | 0361 055 | 0284h 12min | 02843min | rvGEWorkspace |
idSIMDProcessor | 03283 | 02783 methods | 091no method | 0991 | 0324h 9min | 03243min | idSIMDProcessor |
idSIMD_Generic | 03383 | 02883 methods | 085no method | 0201 563 | 0334h 9min | 03343min | idSIMD_Generic |
idFileSystemLocal | 03083 | 03376 methods | 0127 methods | 0141 792 | 0304h 9min | 03043min | idFileSystemLocal |
idFileSystemLocal | 03183 | 03476 methods | 0107 methods | 0151 785 | 0314h 9min | 03143min | idFileSystemLocal |
idSIMD_SSE | 03481 | 03081 methods | 086no method | 0102 099 | 0344h 3min | 03441min | idSIMD_SSE |
DialogAFBody | 03578 | 03675 methods | 0293 methods | 051662 | 0353h 54min | 03540min | DialogAFBody |
CDialogParticleEditor | 03676 | 04073 methods | 0263 methods | 041855 | 0363h 48min | 03638min | CDialogParticleEditor |
idAsyncServer | 03775 | 03575 methods | 084no method | 0251 381 | 0373h 45min | 03738min | idAsyncServer |
idPhysics_Base | 03974 | 04173 methods | 0491 method | 096169 | 0393h 42min | 03937min | idPhysics_Base |
idPhysics_Base | 03874 | 03973 methods | 0401 method | 095169 | 0383h 42min | 03837min | idPhysics_Base |
idAASLocal | 04173 | 03773 methods | 090no method | 0321 275 | 0413h 39min | 04136min | idAASLocal |
idAASLocal | 04073 | 03873 methods | 087no method | 0331 275 | 0403h 39min | 04036min | idAASLocal |
idMath | 04272 | 099no method | 00072 methods | 073349 | 0423h 36min | 04236min | idMath |
idFrustum | 04571 | 04271 methods | 088no method | 0211 549 | 0453h 33min | 04535min | idFrustum |
idPhysics | 04471 | 04569 methods | 0352 methods | 0985 | 0443h 33min | 04435min | idPhysics |
idPhysics | 04371 | 04669 methods | 0342 methods | 0975 | 0433h 33min | 04335min | idPhysics |
idPhysics_StaticMulti | 04770 | 04369 methods | 0381 method | 075335 | 0473h 30min | 04734min | idPhysics_StaticMulti |
idPhysics_StaticMulti | 04670 | 04469 methods | 0421 method | 076335 | 0463h 30min | 04634min | idPhysics_StaticMulti |
idPhysics_Static | 04969 | 04868 methods | 0411 method | 093203 | 0493h 27min | 04934min | idPhysics_Static |
idPhysics_Static | 04869 | 04768 methods | 0501 method | 094203 | 0483h 27min | 04834min | idPhysics_Static |
CEntityDlg | 05067 | 06357 methods | 00410 methods | 046757 | 0503h 21min | 05032min | CEntityDlg |
MaterialTreeView | 05166 | 05662 methods | 0254 methods | 042854 | 0513h 18min | 05132min | MaterialTreeView |
idPhysics_RigidBody | 05365 | 04964 methods | 0661 method | 058538 | 0533h 15min | 05331min | idPhysics_RigidBody |
idPhysics_RigidBody | 05265 | 05064 methods | 0631 method | 059538 | 0523h 15min | 05231min | idPhysics_RigidBody |
idAsyncClient | 05564 | 05163 methods | 0641 method | 0341 232 | 0553h 12min | 05530min | idAsyncClient |
CCamWnd | 05464 | 06260 methods | 0214 methods | 050715 | 0543h 12min | 05430min | CCamWnd |
idPhysics_Player | 05863 | 05562 methods | 0681 method | 043842 | 0583h 9min | 05830min | idPhysics_Player |
CSyntaxRichEditCtrl | 05763 | 05262 methods | 0621 method | 039899 | 0573h 9min | 05730min | CSyntaxRichEditCtrl |
idPhysics_Player | 05663 | 05362 methods | 0651 method | 044842 | 0563h 9min | 05630min | idPhysics_Player |
idAnimator | 06262 | 05462 methods | 089no method | 048744 | 0623h 6min | 06229min | idAnimator |
idPhysics_Parametric | 06362 | 05861 methods | 0671 method | 066422 | 0633h 6min | 06329min | idPhysics_Parametric |
idMover | 06462 | 06161 methods | 0541 method | 052641 | 0643h 6min | 06429min | idMover |
idAnimator | 05962 | 05762 methods | 083no method | 047744 | 0593h 6min | 05929min | idAnimator |
idPhysics_Parametric | 06062 | 05961 methods | 0531 method | 065422 | 0603h 6min | 06029min | idPhysics_Parametric |
idMover | 06162 | 06061 methods | 0511 method | 053641 | 0613h 6min | 06129min | idMover |
idClass | 06759 | 08149 methods | 00610 methods | 087268 | 0672h 57min | 06727min | idClass |
DialogAFConstraintUniversal | 06659 | 06456 methods | 0283 methods | 067397 | 0662h 57min | 06627min | DialogAFConstraintUniversal |
idClass | 06559 | 08049 methods | 00510 methods | 086272 | 0652h 57min | 06527min | idClass |
idLexer | 06956 | 06855 methods | 0561 method | 040865 | 0692h 48min | 06925min | idLexer |
CDIB | 06856 | 06555 methods | 0601 method | 056563 | 0682h 48min | 06825min | CDIB |
idDict | 07255 | 07950 methods | 0175 methods | 079311 | 0722h 45min | 07224min | idDict |
idGameEdit | 07155 | 06755 methods | 097no method | 054608 | 0712h 45min | 07124min | idGameEdit |
idGameEdit | 07055 | 06655 methods | 096no method | 055608 | 0702h 45min | 07024min | idGameEdit |
idLight | 07553 | 07452 methods | 0591 method | 069382 | 0752h 39min | 07523min | idLight |
idRenderModelStatic | 07453 | 07052 methods | 0571 method | 0351 113 | 0742h 39min | 07423min | idRenderModelStatic |
idLight | 07353 | 07352 methods | 0581 method | 068384 | 0732h 39min | 07323min | idLight |
idBitMsgDelta | 07852 | 07252 methods | 092no method | 084285 | 0782h 36min | 07822min | idBitMsgDelta |
idCommonLocal | 07752 | 07152 methods | 095no method | 049735 | 0772h 36min | 07722min | idCommonLocal |
MaterialDocManager | 07652 | 06952 methods | 094no method | 080301 | 0762h 36min | 07622min | MaterialDocManager |
idMat3 | 08151 | 07651 methods | 073no method | 074336 | 0812h 33min | 08122min | idMat3 |
idVec3 | 08251 | 07551 methods | 071no method | 078320 | 0822h 33min | 08222min | idVec3 |
DialogAFConstraintBallAndSocket | 07951 | 08348 methods | 0303 methods | 077327 | 0792h 33min | 07922min | DialogAFConstraintBallAndSocket |
CPropTree | 08051 | 09644 methods | 0147 methods | 072355 | 0802h 33min | 08022min | CPropTree |
idCompiler | 08450 | 07750 methods | 070no method | 0261 378 | 0842h 30min | 08421min | idCompiler |
idCompiler | 08350 | 07850 methods | 074no method | 0271 378 | 0832h 30min | 08321min | idCompiler |
DialogAFConstraintSpring | 08649 | 08946 methods | 0323 methods | 085273 | 0862h 27min | 08621min | DialogAFConstraintSpring |
CDialogSound | 08549 | 08248 methods | 0611 method | 060504 | 0852h 27min | 08521min | CDialogSound |
MEMainFrame | 08748 | 09545 methods | 0313 methods | 071355 | 0872h 24min | 08720min | MEMainFrame |
idBounds | 09147 | 08447 methods | 080no method | 083292 | 0912h 21min | 09119min | idBounds |
idClipModel | 09247 | 09838 methods | 0079 methods | 088263 | 0922h 21min | 09219min | idClipModel |
CVectorCtl | 09347 | 08746 methods | 0521 method | 092228 | 0932h 21min | 09319min | CVectorCtl |
idGameSSDWindow | 08847 | 08547 methods | 082no method | 057548 | 0882h 21min | 08819min | idGameSSDWindow |
idUserInterfaceLocal | 08947 | 08647 methods | 075no method | 090241 | 0892h 21min | 08919min | idUserInterfaceLocal |
idClipModel | 09047 | 09738 methods | 0089 methods | 089263 | 0902h 21min | 09019min | idClipModel |
idWinding | 09646 | 09445 methods | 0551 method | 045804 | 0962h 18min | 09619min | idWinding |
idRestoreGame | 09746 | 09046 methods | 077no method | 082292 | 0972h 18min | 09719min | idRestoreGame |
idAASBuild | 09446 | 08846 methods | 078no method | 0371 021 | 0942h 18min | 09419min | idAASBuild |
idRestoreGame | 09546 | 09146 methods | 076no method | 081294 | 0952h 18min | 09519min | idRestoreGame |
idProgram | 09945 | 09345 methods | 081no method | 063468 | 0992h 15min | 09918min | idProgram |
idProgram | 09845 | 09245 methods | 079no method | 064468 | 0982h 15min | 09818min | idProgram |
![]() | Rule Violated: Avoid types with too many fields |
• Rule Description:
This rule matches types with more than 15 fields. Such type might be hard to understand and maintain.
Notice that constant fields and static-readonly fields are not counted. Enumerations types are not counted also.
Having many fields for a type might be a symptom of too many responsibilities implemented.
• How to Fix Issues:
To refactor such type and increase code quality and maintainability, certainly you'll have to group subsets of fields into smaller types and dispatch the logic implemented into the methods into these smaller types.
More refactoring advices can be found in the default rule Types to Big, HowToFix section.
The estimated Debt, which means the effort to fix such issue, varies linearly from 1 hour for a type with 15 fields, to up to 10 hours for a type with 200 or more fields.View Rule Description
This rule matches types with more than 15 fields. Such type might be hard to understand and maintain.
Notice that constant fields and static-readonly fields are not counted. Enumerations types are not counted also.
Having many fields for a type might be a symptom of too many responsibilities implemented.
• How to Fix Issues:
To refactor such type and increase code quality and maintainability, certainly you'll have to group subsets of fields into smaller types and dispatch the logic implemented into the methods into these smaller types.
More refactoring advices can be found in the default rule Types to Big, HowToFix section.
The estimated Debt, which means the effort to fix such issue, varies linearly from 1 hour for a type with 15 fields, to up to 10 hours for a type with 200 or more fields.View Rule Description
164 types matched
- The following list of types is truncated and contains only the first 100 types of the 164 types matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
164 types | instanceFields | staticFields | methodsAssigningFields | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|
idPlayer | 000191 fields | 033no field | 000496 methods | 0001d 1h | 0001h 54min | idPlayer |
idPlayer | 001172 fields | 032no field | 002438 methods | 0011d 0h | 0011h 42min | idPlayer |
idAI | 002116 fields | 031no field | 007200 methods | 0025h 54min | 0021h 6min | idAI |
idAI | 003113 fields | 036no field | 0981 method | 0035h 46min | 0031h 4min | idAI |
idWeapon | 004102 fields | 035no field | 006201 methods | 0045h 13min | 00457min | idWeapon |
idWeapon | 00597 fields | 034no field | 009186 methods | 0054h 59min | 00554min | idWeapon |
idGameLocal | 00695 fields | 027no field | 001495 methods | 0064h 53min | 00653min | idGameLocal |
idGameLocal | 00884 fields | 026no field | 003435 methods | 0084h 21min | 00846min | idGameLocal |
jpeg_decompress_struct | 00784 fields | 025no field | 010169 methods | 0074h 21min | 00746min | jpeg_decompress_struct |
CDialogParticleEditor | 00968 fields | 030no field | 03482 methods | 0093h 34min | 00935min | CDialogParticleEditor |
idSessionLocal | 01066 fields | 029no field | 011163 methods | 0103h 28min | 01034min | idSessionLocal |
idWindow | 01163 fields | 028no field | 008192 methods | 0113h 20min | 01132min | idWindow |
CPrefsDlg | 01261 fields | 037no field | 025112 methods | 0123h 14min | 01231min | CPrefsDlg |
jpeg_compress_struct | 01360 fields | 046no field | 014149 methods | 0133h 11min | 01330min | jpeg_compress_struct |
idAsyncClient | 01550 fields | 045no field | 027109 methods | 0152h 42min | 01524min | idAsyncClient |
idMultiplayerGame | 01450 fields | 044no field | 015139 methods | 0142h 42min | 01424min | idMultiplayerGame |
roqParam | 01649 fields | 049no field | 06948 methods | 0162h 39min | 01623min | roqParam |
idPhysics_AF | 01848 fields | 048no field | 012155 methods | 0182h 36min | 01823min | idPhysics_AF |
idPhysics_AF | 01748 fields | 047no field | 013155 methods | 0172h 36min | 01723min | idPhysics_AF |
idMultiplayerGame | 02044 fields | 040no field | 019116 methods | 0202h 24min | 02020min | idMultiplayerGame |
QEGlobals_t | 01944 fields | 039no field | 017131 methods | 0192h 24min | 01920min | QEGlobals_t |
glconfig_s | 02243 fields | 038no field | 05258 methods | 0222h 21min | 02219min | glconfig_s |
CLightDlg | 02143 fields | 043no field | 04169 methods | 0212h 21min | 02119min | CLightDlg |
idMaterial | 02342 fields | 042no field | 03190 methods | 0232h 18min | 02319min | idMaterial |
idAFBody | 02541 fields | 041no field | 04364 methods | 0252h 15min | 02518min | idAFBody |
idAFBody | 02441 fields | 008no field | 04264 methods | 0242h 15min | 02418min | idAFBody |
idActor | 02640 fields | 007no field | 021115 methods | 0262h 12min | 02617min | idActor |
idActor | 02939 fields | 006no field | 028102 methods | 0292h 10min | 02917min | idActor |
cm_traceWork_s | 02839 fields | 011no field | 03386 methods | 0282h 10min | 02817min | cm_traceWork_s |
idCinematicLocal | 02739 fields | 010no field | 03577 methods | 0272h 10min | 02717min | idCinematicLocal |
CDialogColorPicker | 03038 fields | 009no field | 08433 methods | 0302h 7min | 03016min | CDialogColorPicker |
ve_setup_data_template | 03337 fields | 002no field | 099no method | 0332h 4min | 03316min | ve_setup_data_template |
CEntityDlg | 03237 fields | 001no field | 09517 methods | 0322h 4min | 03216min | CEntityDlg |
idEntity | 03137 fields | 000no field | 004368 methods | 0312h 4min | 03116min | idEntity |
idParticleStage | 03636 fields | 005no field | 016138 methods | 0362h 1min | 03615min | idParticleStage |
idImageManager | 03736 fields | 004no field | 07146 methods | 0372h 1min | 03715min | idImageManager |
Win32Vars_t | 03436 fields | 003no field | 05854 methods | 0342h 1min | 03415min | Win32Vars_t |
idInventory | 03536 fields | 012no field | 020115 methods | 0352h 1min | 03515min | idInventory |
idInventory | 04035 fields | 021no field | 023114 methods | 0401h 58min | 04014min | idInventory |
idRenderSystemLocal | 03935 fields | 020no field | 03674 methods | 0391h 58min | 03914min | idRenderSystemLocal |
CXYWnd | 03835 fields | 019no field | 08532 methods | 0381h 58min | 03814min | CXYWnd |
CSyntaxRichEditCtrl | 04134 fields | 024no field | 03971 methods | 0411h 55min | 04114min | CSyntaxRichEditCtrl |
DialogAFBody | 04233 fields | 023no field | 04069 methods | 0421h 52min | 04213min | DialogAFBody |
idEntity | 04632 fields | 022no field | 005315 methods | 0461h 49min | 04612min | idEntity |
idIK_Walk | 04732 fields | 015no field | 04961 methods | 0471h 49min | 04712min | idIK_Walk |
idImage | 04532 fields | 014no field | 018119 methods | 0451h 49min | 04512min | idImage |
CVectorCtl | 04332 fields | 013no field | 07245 methods | 0431h 49min | 04312min | CVectorCtl |
idIK_Walk | 04432 fields | 018no field | 05061 methods | 0441h 49min | 04412min | idIK_Walk |
idFXSingleAction | 04831 fields | 017no field | 09124 methods | 0481h 46min | 04812min | idFXSingleAction |
idSimpleWindow | 04930 fields | 016no field | 08234 methods | 0491h 43min | 04911min | idSimpleWindow |
cm_model_s | 05228 fields | 083no field | 024113 methods | 0521h 37min | 05210min | cm_model_s |
idSoundSystemLocal | 05128 fields | 082no field | 05655 methods | 0511h 37min | 05110min | idSoundSystemLocal |
idExportOptions | 05028 fields | 081no field | 07640 methods | 0501h 37min | 05010min | idExportOptions |
idMover_Binary | 05327 fields | 086no field | 03773 methods | 0531h 35min | 0539min | idMover_Binary |
idMover_Binary | 05826 fields | 085no field | 03872 methods | 0581h 32min | 0589min | idMover_Binary |
idMsgChannel | 05926 fields | 084no field | 05954 methods | 0591h 32min | 0599min | idMsgChannel |
performanceCounters_t | 06026 fields | 077no field | 0972 methods | 0601h 32min | 0609min | performanceCounters_t |
st_lwSurface | 05726 fields | 076no field | 09614 methods | 0571h 32min | 0579min | st_lwSurface |
codec | 05426 fields | 075no field | 03286 methods | 0541h 32min | 0549min | codec |
CSurfaceDlg | 05526 fields | 080no field | 08828 methods | 0551h 32min | 0559min | CSurfaceDlg |
idGameBustOutWindow | 05626 fields | 079no field | 06750 methods | 0561h 32min | 0569min | idGameBustOutWindow |
idAsyncServer | 06625 fields | 078no field | 06054 methods | 0661h 29min | 0668min | idAsyncServer |
viewDef_s | 06525 fields | 087no field | 04464 methods | 0651h 29min | 0658min | viewDef_s |
bitrate_manager_state | 06825 fields | 096no field | 09418 methods | 0681h 29min | 0688min | bitrate_manager_state |
WinConData | 06725 fields | 095no field | 09320 methods | 0671h 29min | 0678min | WinConData |
dmapGlobals_t | 06225 fields | 094no field | 06552 methods | 0621h 29min | 0628min | dmapGlobals_t |
rvGEWorkspace | 06125 fields | 099no field | 06651 methods | 0611h 29min | 0618min | rvGEWorkspace |
CDialogSound | 06425 fields | 098no field | 07740 methods | 0641h 29min | 0648min | CDialogSound |
idGameBearShootWindow | 06325 fields | 097no field | 06850 methods | 0631h 29min | 0638min | idGameBearShootWindow |
DialogAFView | 07124 fields | 090no field | 09024 methods | 0711h 26min | 0717min | DialogAFView |
CCamWnd | 07024 fields | 089no field | 08925 methods | 0701h 26min | 0707min | CCamWnd |
CLightInfo | 06924 fields | 088no field | 07541 methods | 0691h 26min | 0697min | CLightInfo |
idRenderLightLocal | 07423 fields | 093no field | 05755 methods | 0741h 23min | 0747min | idRenderLightLocal |
vorbis_info_psy | 07523 fields | 092no field | 08729 methods | 0751h 23min | 0757min | vorbis_info_psy |
OggVorbis_File | 07223 fields | 091no field | 03090 methods | 0721h 23min | 0727min | OggVorbis_File |
idPlayerView | 07323 fields | 058no field | 08134 methods | 0731h 23min | 0737min | idPlayerView |
idFileSystemLocal | 08222 fields | 057no field | 04762 methods | 0821h 20min | 0826min | idFileSystemLocal |
idPhysics_Player | 08122 fields | 056no field | 06452 methods | 0811h 20min | 0816min | idPhysics_Player |
idPlayerView | 08322 fields | 061no field | 08334 methods | 0831h 20min | 0836min | idPlayerView |
_CURL_CONTEXT | 08522 fields | 060no field | 07938 methods | 0851h 20min | 0856min | _CURL_CONTEXT |
idFileSystemLocal | 08422 fields | 059no field | 04862 methods | 0841h 20min | 0846min | idFileSystemLocal |
idSoundWorldLocal | 07722 fields | 052no field | 06153 methods | 0771h 20min | 0776min | idSoundWorldLocal |
DialogAFConstraintUniversal | 07622 fields | 051no field | 07344 methods | 0761h 20min | 0766min | DialogAFConstraintUniversal |
DialogAFProperties | 07822 fields | 050no field | 05457 methods | 0781h 20min | 0786min | DialogAFProperties |
idAASSettings | 08022 fields | 055no field | 08629 methods | 0801h 20min | 0806min | idAASSettings |
idPhysics_Player | 07922 fields | 054no field | 06352 methods | 0791h 20min | 0796min | idPhysics_Player |
idLexer | 09121 fields | 053no field | 026109 methods | 0911h 17min | 0915min | idLexer |
idDeclAF_Body | 09021 fields | 062no field | 07839 methods | 0901h 17min | 0905min | idDeclAF_Body |
serverClient_s | 09321 fields | 071no field | 04663 methods | 0931h 17min | 0935min | serverClient_s |
jpeg_component_info | 09221 fields | 070no field | 02997 methods | 0921h 17min | 0925min | jpeg_component_info |
vorbis_block | 08721 fields | 069no field | 06252 methods | 0871h 17min | 0875min | vorbis_block |
codec_setup_info | 08621 fields | 074no field | 05358 methods | 0861h 17min | 0865min | codec_setup_info |
SSDEntity | 08921 fields | 073no field | 05557 methods | 0891h 17min | 0895min | SSDEntity |
idExportJoint | 08821 fields | 072no field | 08034 methods | 0881h 17min | 0885min | idExportJoint |
idLCP_Symmetric | 09720 fields | 065no field | 09223 methods | 0971h 14min | 0975min | idLCP_Symmetric |
idAFConstraint | 09820 fields | 064no field | 022114 methods | 0981h 14min | 0985min | idAFConstraint |
idProgram | 09920 fields | 063no field | 07048 methods | 0991h 14min | 0995min | idProgram |
idMover | 09420 fields | 068no field | 05159 methods | 0941h 14min | 0945min | idMover |
idConsoleLocal | 09520 fields | 067no field | 07441 methods | 0951h 14min | 0955min | idConsoleLocal |
idDeclAF | 09620 fields | 066no field | 04563 methods | 0961h 14min | 0965min | idDeclAF |
![]() | Critical Rule Violated: Avoid methods too big, too complex |
• Rule Description:
This rule matches methods where ILNestingDepth > 2 and (NbLinesOfCode > 35 or CyclomaticComplexity > 20 Such method is typically hard to understand and maintain.
Maybe you are facing the God Method phenomenon. A "God Method" is a method that does way too many processes in the system and has grown beyond all logic to become The Method That Does Everything. When need for new processes increases suddenly some programmers realize: why should I create a new method for each processe if I can only add an if.
See the definition of the CyclomaticComplexity metric here: http://www.cppdepend.com/Metrics.aspx#CC
• How to Fix Issues:
A large and complex method should be split in smaller methods, or even one or several classes can be created for that.
During this process it is important to question the scope of each variable local to the method. This can be an indication if such local variable will become an instance field of the newly created class(es).
Large switch…case structures might be refactored through the help of a set of types that implement a common interface, the interface polymorphism playing the role of the switch cases tests.
Unit Tests can help: write tests for each method before extracting it to ensure you don't break functionality.
The estimated Debt, which means the effort to fix such issue, varies from 40 minutes to 8 hours, linearly from a weighted complexity score.View Rule Description
This rule matches methods where ILNestingDepth > 2 and (NbLinesOfCode > 35 or CyclomaticComplexity > 20 Such method is typically hard to understand and maintain.
Maybe you are facing the God Method phenomenon. A "God Method" is a method that does way too many processes in the system and has grown beyond all logic to become The Method That Does Everything. When need for new processes increases suddenly some programmers realize: why should I create a new method for each processe if I can only add an if.
See the definition of the CyclomaticComplexity metric here: http://www.cppdepend.com/Metrics.aspx#CC
• How to Fix Issues:
A large and complex method should be split in smaller methods, or even one or several classes can be created for that.
During this process it is important to question the scope of each variable local to the method. This can be an indication if such local variable will become an instance field of the newly created class(es).
Large switch…case structures might be refactored through the help of a set of types that implement a common interface, the interface polymorphism playing the role of the switch cases tests.
Unit Tests can help: write tests for each method before extracting it to ensure you don't break functionality.
The estimated Debt, which means the effort to fix such issue, varies from 40 minutes to 8 hours, linearly from a weighted complexity score.View Rule Description
1,811 methods matched
- The following list of methods is truncated and contains only the first 100 methods of the 1811 methods matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 811 methods | # lines of code (LOC) | Cyclomatic Complexity (CC) | complexityScore | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|
Execute() | 001715 | 001193 | 001550 | 0021d 0h | 01340min | idInterpreter.Execute() |
Execute() | 000715 | 000193 | 000550 | 0011d 0h | 01440min | idInterpreter.Execute() |
Curl_readwrite(structconnectdata*,bool*) | 003460 | 002186 | 002416 | 0001d 0h | 01240min | __Globals.Curl_readwrite (structconnectdata*,bool*) |
Curl_setopt(structSessionHandle* ,CURLoption) | 004436 | 003170 | 003388 | 0037h 45min | 01040min | __Globals.Curl_setopt (structSessionHandle*,CURLoption) |
GLimp_EnableLogging(bool) | 002706 | 09510 | 004363 | 0047h 16min | 01140min | __Globals.GLimp_EnableLogging(bool) |
CreateConnection(structSessionHandle* ,structconnectdata** ,structCurl_dns_entry**,bool*) | 006413 | 005142 | 005348 | 0056h 58min | 01840min | __Globals.CreateConnection (structSessionHandle* ,structconnectdata** ,structCurl_dns_entry**,bool*) |
ParseStage(idLexer&,consttextureRepeat_t ) | 010349 | 004150 | 006324 | 0066h 29min | 01940min | idMaterial.ParseStage(idLexer& ,consttextureRepeat_t) |
Curl_gd_parse(void*) | 007402 | 011108 | 007309 | 0076h 11min | 01740min | __Globals.Curl_gd_parse(void*) |
EvaluateTokens(idToken*,long*,double* ,int) | 011345 | 008129 | 008301 | 0086h 2min | 01540min | idParser.EvaluateTokens(idToken*,long* ,double*,int) |
Test() | 005432 | 01982 | 009298 | 0095h 58min | 01640min | idMatX.Test() |
HandleMainMenuCommands(constchar*) | 014296 | 007140 | 011288 | 0115h 46min | 00340min | idSessionLocal.HandleMainMenuCommands (constchar*) |
AddFrameCommand (constclassidDeclModelDef*,int,idLexer& ,constidDict*) | 013320 | 009128 | 010288 | 0105h 46min | 00440min | idAnim.AddFrameCommand (constclassidDeclModelDef*,int,idLexer& ,constidDict*) |
Curl_http(structconnectdata*) | 019265 | 006141 | 012273 | 0125h 28min | 00240min | __Globals.Curl_http(structconnectdata*) |
AddFrameCommand (constclassidDeclModelDef*,int,idLexer& ,constidDict*) | 015279 | 010113 | 013252 | 0135h 4min | 00040min | idAnim.AddFrameCommand (constclassidDeclModelDef*,int,idLexer& ,constidDict*) |
TestMath() | 012325 | 04165 | 014227 | 0144h 34min | 00140min | __Globals.TestMath() |
Curl_cookie_add(structSessionHandle* ,structCookieInfo*,bool,char*,char* ,char*) | 029232 | 013103 | 015219 | 0154h 24min | 00840min | __Globals.Curl_cookie_add (structSessionHandle*,structCookieInfo* ,bool,char*,char*,char*) |
dprintf_formatf(void*,int(*)(int,FILE*) ,constchar*,va_list) | 026238 | 01499 | 016218 | 0164h 23min | 00940min | __Globals.dprintf_formatf(void*,int(*) (int,FILE*),constchar*,va_list) |
ParseScope(constchar*,bool,idParser& ,idClassTypeInfo*) | 027234 | 01597 | 017214 | 0174h 18min | 00740min | idTypeInfoGen.ParseScope(constchar*,bool ,idParser&,idClassTypeInfo*) |
Reachability_Step_Barrier_WaterJump_Walk OffLedge(int,int) | 017270 | 02278 | 018213 | 0184h 17min | 00540min | idAASReach .Reachability_Step_Barrier_WaterJump_Wal kOffLedge(int,int) |
HessenbergToRealSchur(idMatX&,idVecX& ,idVecX&) | 022260 | 03073 | 019203 | 0194h 5min | 00640min | idMatX.HessenbergToRealSchur(idMatX& ,idVecX&,idVecX&) |
lwGetSurface5(idFile*,int,lwObject*) | 028234 | 02179 | 021196 | 0213h 57min | 02139min | __Globals.lwGetSurface5(idFile*,int ,lwObject*) |
HandleCommand(WPARAM,LPARAM) | 023248 | 03272 | 020196 | 0203h 57min | 02039min | rvGEApp.HandleCommand(WPARAM,LPARAM) |
FormAdd(structcurl_httppost** ,structcurl_httppost**,va_list) | 040201 | 01794 | 022194 | 0223h 55min | 02238min | __Globals.FormAdd(structcurl_httppost** ,structcurl_httppost**,va_list) |
HandleInitMenu(WPARAM,LPARAM) | 055173 | 012105 | 023191 | 0233h 51min | 02337min | rvGEApp.HandleInitMenu(WPARAM,LPARAM) |
ParseMaterial(idLexer&) | 043192 | 01892 | 024188 | 0243h 47min | 02437min | idMaterial.ParseMaterial(idLexer&) |
dradbg(int,int,int,int,float*,float* ,float*,float*,float*,float*) | 018270 | 07452 | 025187 | 0253h 46min | 02537min | __Globals.dradbg(int,int,int,int,float* ,float*,float*,float*,float*,float*) |
QGL_Init(constchar*) | 008368 | 0982 | 026186 | 0263h 45min | 02636min | __Globals.QGL_Init(constchar*) |
QGL_Shutdown() | 009362 | 0972 | 027183 | 0273h 41min | 02736min | __Globals.QGL_Shutdown() |
HandleEvent(constsysEvent_t*,bool*) | 065164 | 01696 | 029178 | 0293h 36min | 02935min | idWindow.HandleEvent(constsysEvent_t* ,bool*) |
CallFrameCommands(idEntity*,int,int) | 035208 | 02874 | 028178 | 0283h 36min | 02835min | idAnim.CallFrameCommands(idEntity*,int ,int) |
dprintf_Pass1(char*,va_stack_t*,char** ,va_list) | 034210 | 03172 | 030177 | 0303h 34min | 03034min | __Globals.dprintf_Pass1(char* ,va_stack_t*,char**,va_list) |
Parse(idParser*,bool) | 021262 | 08743 | 031174 | 0313h 31min | 03134min | idWindow.Parse(idParser*,bool) |
dradfg(int,int,int,int,float*,float* ,float*,float*,float*,float*) | 024248 | 08347 | 032171 | 0323h 27min | 03233min | __Globals.dradfg(int,int,int,int,float* ,float*,float*,float*,float*,float*) |
MatX_MultiplyMatX(idMatX&,constidMatX& ,constidMatX&) | 039202 | 03569 | 034170 | 0343h 26min | 03433min | idSIMD_Generic.MatX_MultiplyMatX(idMatX& ,constidMatX&,constidMatX&) |
ParseSingleFXAction(idLexer& ,idFXSingleAction&) | 036207 | 03867 | 033170 | 0333h 26min | 03333min | idDeclFX.ParseSingleFXAction(idLexer& ,idFXSingleAction&) |
InitFromFile(constchar*) | 038204 | 03966 | 035168 | 0353h 24min | 03532min | roqParam.InitFromFile(constchar*) |
SparseEncode() | 052178 | 02377 | 036166 | 0363h 21min | 03632min | codec.SparseEncode() |
Curl_ftp_nextconnect(structconnectdata*) | 048188 | 03471 | 038165 | 0383h 20min | 03832min | __Globals.Curl_ftp_nextconnect (structconnectdata*) |
CallFrameCommands(idEntity*,int,int) | 042193 | 03669 | 037165 | 0373h 20min | 03732min | idAnim.CallFrameCommands(idEntity*,int ,int) |
Rotation180(trace_t*,constidVec3& ,constidVec3&,constfloat,constfloat ,constidVec3&,constidTraceModel* ,constidMat3&,int,cmHandle_t ,constidVec3&,constidMat3&) | 032215 | 06256 | 039163 | 0393h 18min | 03931min | idCollisionModelManagerLocal.Rotation180 (trace_t*,constidVec3&,constidVec3& ,constfloat,constfloat,constidVec3& ,constidTraceModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) |
AddChannelContribution (idSoundEmitterLocal*,idSoundChannel* ,int,int,float*) | 054175 | 02675 | 042162 | 0423h 16min | 04231min | idSoundWorldLocal.AddChannelContribution (idSoundEmitterLocal*,idSoundChannel* ,int,int,float*) |
Translation(trace_t*,constidVec3& ,constidVec3&,constidTraceModel* ,constidMat3&,int,cmHandle_t ,constidVec3&,constidMat3&) | 041198 | 04263 | 041162 | 0413h 16min | 04131min | idCollisionModelManagerLocal.Translation (trace_t*,constidVec3&,constidVec3& ,constidTraceModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) |
ConvertLWOToModelSurfaces (conststructst_lwObject*) | 033211 | 05957 | 040162 | 0403h 16min | 04031min | idRenderModelStatic .ConvertLWOToModelSurfaces (conststructst_lwObject*) |
lwGetObject(constchar*,unsignedint*,int* ) | 066164 | 02575 | 043157 | 0433h 11min | 04330min | __Globals.lwGetObject(constchar* ,unsignedint*,int*) |
HandleEvent(constsysEvent_t*,bool*) | 088142 | 02080 | 045151 | 0453h 3min | 04529min | idEditWindow.HandleEvent (constsysEvent_t*,bool*) |
ParseParticleStage(idLexer&) | 077151 | 02476 | 044151 | 0443h 3min | 04429min | idDeclParticle.ParseParticleStage (idLexer&) |
RB_RenderInteraction(constdrawSurf_t*) | 037205 | 07948 | 046150 | 0463h 2min | 04628min | __Globals.RB_RenderInteraction (constdrawSurf_t*) |
Brush_MoveVertex(brush_t*,constidVec3& ,constidVec3&,idVec3&,bool) | 053176 | 04561 | 047149 | 0473h 1min | 04728min | __Globals.Brush_MoveVertex(brush_t* ,constidVec3&,constidVec3&,idVec3&,bool) |
Split(constidPlane&,constfloat ,idSurface**,idSurface**,int*,int*) | 025247 | 09325 | 048148 | 0483h 0min | 04828min | idSurface.Split(constidPlane&,constfloat ,idSurface**,idSurface**,int*,int*) |
GetWeaponDef(constchar*,int) | 030228 | 09233 | 049147 | 0492h 59min | 04928min | idWeapon.GetWeaponDef(constchar*,int) |
UpdateFocus() | 067163 | 04065 | 052146 | 0522h 57min | 05227min | idPlayer.UpdateFocus() |
OptimizeOpcode(constopcode_t*,idVarDef* ,idVarDef*) | 050183 | 06555 | 051146 | 0512h 57min | 05127min | idCompiler.OptimizeOpcode(constopcode_t* ,idVarDef*,idVarDef*) |
OptimizeOpcode(constopcode_t*,idVarDef* ,idVarDef*) | 049183 | 06455 | 050146 | 0502h 57min | 05027min | idCompiler.OptimizeOpcode(constopcode_t* ,idVarDef*,idVarDef*) |
HandleGuiCommands(constchar*) | 061169 | 04661 | 053145 | 0532h 56min | 05327min | idMultiplayerGame.HandleGuiCommands (constchar*) |
ConvertMAToModelSurfaces (conststructmaModel_s*) | 045192 | 08048 | 054144 | 0542h 55min | 05427min | idRenderModelStatic .ConvertMAToModelSurfaces (conststructmaModel_s*) |
OpenFileReadFlags(constchar*,int ,pack_t**,bool,constchar*) | 093138 | 02974 | 058143 | 0582h 54min | 05827min | idFileSystemLocal.OpenFileReadFlags (constchar*,int,pack_t**,bool,constchar* ) |
OpenFileReadFlags(constchar*,int ,pack_t**,bool,constchar*) | 092138 | 02774 | 059143 | 0592h 54min | 05927min | idFileSystemLocal.OpenFileReadFlags (constchar*,int,pack_t**,bool,constchar* ) |
Run(int) | 071160 | 04463 | 057143 | 0572h 54min | 05727min | idEntityFx.Run(int) |
TestDot() | 057171 | 05658 | 055143 | 0552h 54min | 05527min | __Globals.TestDot() |
ConvertASEToModelSurfaces (conststructaseModel_s*) | 044192 | 08247 | 056143 | 0562h 54min | 05627min | idRenderModelStatic .ConvertASEToModelSurfaces (conststructaseModel_s*) |
inflate_blocks(inflate_blocks_statef* ,z_streamp,int) | 046189 | 08147 | 062141 | 0622h 52min | 06226min | __Globals.inflate_blocks (inflate_blocks_statef*,z_streamp,int) |
inflate_blocks(inflate_blocks_statef* ,z_streamp,int) | 047189 | 08447 | 061141 | 0612h 52min | 06126min | __Globals.inflate_blocks (inflate_blocks_statef*,z_streamp,int) |
InverseSelf() | 016278 | 0962 | 060141 | 0602h 52min | 06026min | idMat6.InverseSelf() |
UpdateFocus() | 075155 | 04363 | 063140 | 0632h 50min | 06326min | idPlayer.UpdateFocus() |
TestCompare() | 069162 | 05358 | 065139 | 0652h 49min | 06526min | __Globals.TestCompare() |
HandleGuiCommands(constchar*) | 068163 | 05458 | 064139 | 0642h 49min | 06426min | idMultiplayerGame.HandleGuiCommands (constchar*) |
lwGetSurface(idFile*,int) | 058170 | 06953 | 066138 | 0662h 48min | 06626min | __Globals.lwGetSurface(idFile*,int) |
Patch_Weld(patchMesh_t*,patchMesh_t*) | 060169 | 06853 | 067137 | 0672h 47min | 06725min | __Globals.Patch_Weld(patchMesh_t* ,patchMesh_t*) |
MakeMegaTexture_f(constidCmdArgs&) | 051182 | 09043 | 068134 | 0682h 43min | 06825min | idMegaTexture.MakeMegaTexture_f (constidCmdArgs&) |
CreateFrame(int,bool) | 086144 | 04861 | 072133 | 0722h 42min | 07225min | idAnimator.CreateFrame(int,bool) |
CreateFrame(int,bool) | 085144 | 04761 | 073133 | 0732h 42min | 07325min | idAnimator.CreateFrame(int,bool) |
MatX_TransposeMultiplyMatX(idMatX& ,constidMatX&,constidMatX&) | 076154 | 06156 | 071133 | 0712h 42min | 07125min | idSIMD_Generic .MatX_TransposeMultiplyMatX(idMatX& ,constidMatX&,constidMatX&) |
MatX_MultiplyMatX(idMatX&,constidMatX& ,constidMatX&) | 073157 | 06755 | 069133 | 0692h 42min | 06925min | idSIMD_SSE.MatX_MultiplyMatX(idMatX& ,constidMatX&,constidMatX&) |
XY_Draw() | 070162 | 07352 | 070133 | 0702h 42min | 07025min | CXYWnd.XY_Draw() |
DrawPatchMesh(patchMesh_t*,bool,int* ,bool) | 079150 | 05757 | 075132 | 0752h 41min | 07524min | __Globals.DrawPatchMesh(patchMesh_t* ,bool,int*,bool) |
MD5Transform(UINT4*,unsignedchar*) | 020263 | 0991 | 074132 | 0742h 41min | 07424min | __Globals.MD5Transform(UINT4* ,unsignedchar*) |
WritePrecompressedImage() | 072159 | 07252 | 076131 | 0762h 40min | 07624min | idImage.WritePrecompressedImage() |
ClippedProjectionBounds(constidFrustum& ,constidBox&,idBounds&) | 091140 | 05060 | 080130 | 0802h 38min | 08024min | idFrustum.ClippedProjectionBounds (constidFrustum&,constidBox&,idBounds&) |
MakePreviousImage(quadcel*) | 081147 | 05857 | 081130 | 0812h 38min | 08124min | codec.MakePreviousImage(quadcel*) |
Parse(constchar*,constint) | 063168 | 08646 | 079130 | 0792h 38min | 07924min | idDeclModelDef.Parse(constchar*,constint ) |
Parse(constchar*,constint) | 062168 | 08546 | 077130 | 0772h 38min | 07724min | idDeclModelDef.Parse(constchar*,constint ) |
DeriveTangents(idPlane*,idDrawVert* ,constint,constint*,constint) | 031226 | 09417 | 078130 | 0782h 38min | 07824min | idSIMD_SSE.DeriveTangents(idPlane* ,idDrawVert*,constint,constint*,constint ) |
R_LocalTrace(constidVec3&,constidVec3& ,constfloat,constsrfTriangles_t*) | 089141 | 05259 | 084129 | 0842h 37min | 08424min | __Globals.R_LocalTrace(constidVec3& ,constidVec3&,constfloat ,constsrfTriangles_t*) |
Solve(constidMatX&,idVecX&,constidVecX& ,constidVecX&,constidVecX&,constint*) | 082146 | 06056 | 083129 | 0832h 37min | 08324min | idLCP_Symmetric.Solve(constidMatX& ,idVecX&,constidVecX&,constidVecX& ,constidVecX&,constint*) |
Entity_PostParse(entity_t*,brush_t*) | 074156 | 07651 | 082129 | 0822h 37min | 08224min | __Globals.Entity_PostParse(entity_t* ,brush_t*) |
Run(int) | 090141 | 05558 | 087128 | 0872h 36min | 08723min | idEntityFx.Run(int) |
LoadTGA(constchar*,byte**,int*,int* ,time_t*) | 059170 | 08943 | 086128 | 0862h 36min | 08623min | __Globals.LoadTGA(constchar*,byte**,int* ,int*,time_t*) |
Segment(int*,float*,int,float) | 056171 | 08843 | 085128 | 0852h 36min | 08523min | codec.Segment(int*,float*,int,float) |
Solve(constidMatX&,idVecX&,constidVecX& ,constidVecX&,constidVecX&,constint*) | 087143 | 06356 | 088127 | 0882h 35min | 08823min | idLCP_Square.Solve(constidMatX&,idVecX& ,constidVecX&,constidVecX&,constidVecX& ,constint*) |
ParseBody(idLexer&) | 098110 | 03371 | 090126 | 0902h 34min | 09023min | idDeclAF.ParseBody(idLexer&) |
Think() | 080147 | 07053 | 089126 | 0892h 34min | 08923min | idPlayer.Think() |
VQ(constint,constint,constunsignedchar* ,float*,double**,constbool) | 084145 | 07153 | 093125 | 0932h 32min | 09323min | codec.VQ(constint,constint ,constunsignedchar*,float*,double** ,constbool) |
ClientReadSnapshot(int,int,constint ,constint,constint,constint ,constidBitMsg&) | 083146 | 07552 | 092125 | 0922h 32min | 09223min | idGameLocal.ClientReadSnapshot(int,int ,constint,constint,constint,constint ,constidBitMsg&) |
WndProc(HWND,UINT,WPARAM,LPARAM) | 064166 | 09142 | 091125 | 0912h 32min | 09123min | rvGENavigator.WndProc(HWND,UINT,WPARAM ,LPARAM) |
RB_STD_T_RenderShaderPasses (constdrawSurf_t*) | 078150 | 07849 | 094124 | 0942h 31min | 09423min | __Globals.RB_STD_T_RenderShaderPasses (constdrawSurf_t*) |
ReadNumber(idToken*) | 095124 | 05159 | 095121 | 0952h 28min | 09522min | idLexer.ReadNumber(idToken*) |
read_markers(j_decompress_ptr) | 099105 | 03768 | 097120 | 0972h 27min | 09722min | __Globals.read_markers(j_decompress_ptr) |
R_ListImages_f(constidCmdArgs&) | 097120 | 04960 | 096120 | 0962h 27min | 09622min | __Globals.R_ListImages_f(constidCmdArgs& ) |
ClientReadSnapshot(int,int,constint ,constint,constint,constint ,constidBitMsg&) | 094137 | 07750 | 098118 | 0982h 24min | 09821min | idGameLocal.ClientReadSnapshot(int,int ,constint,constint,constint,constint ,constidBitMsg&) |
ParseShader(idLexer&) | 096123 | 06655 | 099116 | 0992h 22min | 09921min | idSoundShader.ParseShader(idLexer&) |
![]() | Critical Rule Violated: Avoid methods with too many parameters |
• Rule Description:
This rule matches methods with more than 8 parameters. Such method is painful to call and might degrade performance. See the definition of the NbParameters metric here: http://www.cppdepend.com/Metrics.aspx#NbParameters
• How to Fix Issues:
More properties/fields can be added to the declaring type to handle numerous states. An alternative is to provide a class or a structure dedicated to handle arguments passing.
The estimated Debt, which means the effort to fix such issue, varies linearly from 1 hour for a method with 7 parameters, up to 6 hours for a methods with 40 or more parameters.View Rule Description
This rule matches methods with more than 8 parameters. Such method is painful to call and might degrade performance. See the definition of the NbParameters metric here: http://www.cppdepend.com/Metrics.aspx#NbParameters
• How to Fix Issues:
More properties/fields can be added to the declaring type to handle numerous states. An alternative is to provide a class or a structure dedicated to handle arguments passing.
The estimated Debt, which means the effort to fix such issue, varies linearly from 1 hour for a method with 7 parameters, up to 6 hours for a methods with 40 or more parameters.View Rule Description
204 methods matched
- The following list of methods is truncated and contains only the first 100 methods of the 204 methods matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
204 methods | # Parameters | Debt | Annual Interest | Full Name |
---|---|---|---|---|
idMat4(constfloat,constfloat,constfloat ,constfloat,constfloat,constfloat ,constfloat,constfloat,constfloat ,constfloat,constfloat,constfloat ,constfloat,constfloat,constfloat ,constfloat) | 00016 | 0002h 21min | 00034min | idMat4.idMat4(constfloat,constfloat ,constfloat,constfloat,constfloat ,constfloat,constfloat,constfloat ,constfloat,constfloat,constfloat ,constfloat,constfloat,constfloat ,constfloat,constfloat) |
AddHttpPost(char*,size_t,char*,size_t ,char*,size_t,char*,long ,structcurl_slist*,char* ,structcurl_httppost* ,structcurl_httppost** ,structcurl_httppost**) | 00113 | 0011h 54min | 00123min | __Globals.AddHttpPost(char*,size_t,char* ,size_t,char*,size_t,char*,long ,structcurl_slist*,char* ,structcurl_httppost* ,structcurl_httppost** ,structcurl_httppost**) |
Rotation180(trace_t*,constidVec3& ,constidVec3&,constfloat,constfloat ,constidVec3&,constidTraceModel* ,constidMat3&,int,cmHandle_t ,constidVec3&,constidMat3&) | 00212 | 0021h 45min | 00219min | idCollisionModelManagerLocal.Rotation180 (trace_t*,constidVec3&,constidVec3& ,constfloat,constfloat,constidVec3& ,constidTraceModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) |
TestTrajectory(constidVec3&,constidVec3& ,float,float,float,float ,constidClipModel*,int,constidEntity* ,constidEntity*,int) | 00711 | 0071h 36min | 00716min | idAI.TestTrajectory(constidVec3& ,constidVec3&,float,float,float,float ,constidClipModel*,int,constidEntity* ,constidEntity*,int) |
PredictTrajectory(constidVec3& ,constidVec3&,float,constidVec3& ,constidClipModel*,int,float ,constidEntity*,constidEntity*,int ,idVec3&) | 00811 | 0081h 36min | 00816min | idAI.PredictTrajectory(constidVec3& ,constidVec3&,float,constidVec3& ,constidClipModel*,int,float ,constidEntity*,constidEntity*,int ,idVec3&) |
ContactsModel(contactInfo_t*,constint ,constidVec3&,constidVec6&,constfloat ,constidClipModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) | 00911 | 0091h 36min | 00916min | idClip.ContactsModel(contactInfo_t* ,constint,constidVec3&,constidVec6& ,constfloat,constidClipModel* ,constidMat3&,int,cmHandle_t ,constidVec3&,constidMat3&) |
Contacts(contactInfo_t*,constint ,constidVec3&,constidVec6&,constfloat ,constidTraceModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) | 00611 | 0061h 36min | 00616min | idCollisionModelManagerLocal.Contacts (contactInfo_t*,constint,constidVec3& ,constidVec6&,constfloat ,constidTraceModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) |
ContactsModel(contactInfo_t*,constint ,constidVec3&,constidVec6&,constfloat ,constidClipModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) | 00311 | 0031h 36min | 00316min | idClip.ContactsModel(contactInfo_t* ,constint,constidVec3&,constidVec6& ,constfloat,constidClipModel* ,constidMat3&,int,cmHandle_t ,constidVec3&,constidMat3&) |
TestTrajectory(constidVec3&,constidVec3& ,float,float,float,float ,constidClipModel*,int,constidEntity* ,constidEntity*,int) | 00411 | 0041h 36min | 00416min | idAI.TestTrajectory(constidVec3& ,constidVec3&,float,float,float,float ,constidClipModel*,int,constidEntity* ,constidEntity*,int) |
PredictTrajectory(constidVec3& ,constidVec3&,float,constidVec3& ,constidClipModel*,int,float ,constidEntity*,constidEntity*,int ,idVec3&) | 00511 | 0051h 36min | 00516min | idAI.PredictTrajectory(constidVec3& ,constidVec3&,float,constidVec3& ,constidClipModel*,int,float ,constidEntity*,constidEntity*,int ,idVec3&) |
huft_build(uInt*,uInt,uInt,constuInt* ,constuInt*,inflate_huft**,uInt* ,inflate_huft*,uInt*,uInt*) | 02110 | 0211h 27min | 02112min | __Globals.huft_build(uInt*,uInt,uInt ,constuInt*,constuInt*,inflate_huft** ,uInt*,inflate_huft*,uInt*,uInt*) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) | 02210 | 0221h 27min | 02212min | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) | 01910 | 0191h 27min | 01912min | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
huft_build(uInt*,uInt,uInt,constuInt* ,constuInt*,inflate_huft**,uInt* ,inflate_huft*,uInt*,uInt*) | 02010 | 0201h 27min | 02012min | __Globals.huft_build(uInt*,uInt,uInt ,constuInt*,constuInt*,inflate_huft** ,uInt*,inflate_huft*,uInt*,uInt*) |
_vp_couple(int,vorbis_info_psy_global* ,vorbis_look_psy*,vorbis_info_mapping0* ,float**,float**,int**,int**,int*,int) | 02510 | 0251h 27min | 02512min | __Globals._vp_couple(int ,vorbis_info_psy_global* ,vorbis_look_psy*,vorbis_info_mapping0* ,float**,float**,int**,int**,int*,int) |
dradfg(int,int,int,int,float*,float* ,float*,float*,float*,float*) | 02610 | 0261h 27min | 02612min | __Globals.dradfg(int,int,int,int,float* ,float*,float*,float*,float*,float*) |
dradbg(int,int,int,int,float*,float* ,float*,float*,float*,float*) | 02310 | 0231h 27min | 02312min | __Globals.dradbg(int,int,int,int,float* ,float*,float*,float*,float*,float*) |
logMap2d(GLenum,GLdouble,GLdouble,GLint ,GLint,GLdouble,GLdouble,GLint,GLint ,constGLdouble*) | 02410 | 0241h 27min | 02412min | __Globals.logMap2d(GLenum,GLdouble ,GLdouble,GLint,GLint,GLdouble,GLdouble ,GLint,GLint,constGLdouble*) |
logMap2f(GLenum,GLfloat,GLfloat,GLint ,GLint,GLfloat,GLfloat,GLint,GLint ,constGLfloat*) | 01810 | 0181h 27min | 01812min | __Globals.logMap2f(GLenum,GLfloat ,GLfloat,GLint,GLint,GLfloat,GLfloat ,GLint,GLint,constGLfloat*) |
DrawStretchPic(constidDrawVert* ,constglIndex_t*,int,int ,constidMaterial*,bool,float,float,float ,float) | 01210 | 0121h 27min | 01212min | idRenderSystemLocal.DrawStretchPic (constidDrawVert*,constglIndex_t*,int ,int,constidMaterial*,bool,float,float ,float,float) |
DrawStretchPic(constidDrawVert* ,constglIndex_t*,int,int ,constidMaterial*,bool,float,float,float ,float) | 01310 | 0131h 27min | 01312min | idGuiModel.DrawStretchPic (constidDrawVert*,constglIndex_t*,int ,int,constidMaterial*,bool,float,float ,float,float) |
DrawStretchPic(constidDrawVert* ,constglIndex_t*,int,int ,constidMaterial*,bool,float,float,float ,float) | 01010 | 0101h 27min | 01012min | idRenderSystem.DrawStretchPic (constidDrawVert*,constglIndex_t*,int ,int,constidMaterial*,bool,float,float ,float,float) |
DrawTextA(constchar*,float,int,idVec4 ,idRectangle,bool,int,bool,idList<int>* ,int) | 01110 | 0111h 27min | 01112min | idDeviceContext.DrawTextA(constchar* ,float,int,idVec4,idRectangle,bool,int ,bool,idList<int>*,int) |
DrawStretchPicRotated(float,float,float ,float,float,float,float,float ,constidMaterial*,float) | 01610 | 0161h 27min | 01612min | idDeviceContext.DrawStretchPicRotated (float,float,float,float,float,float ,float,float,constidMaterial*,float) |
PaintChar(float,float,float,float,float ,float,float,float,float ,constidMaterial*) | 01710 | 0171h 27min | 01712min | idDeviceContext.PaintChar(float,float ,float,float,float,float,float,float ,float,constidMaterial*) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) | 01410 | 0141h 27min | 01412min | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) | 01510 | 0151h 27min | 01512min | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
idMat3(constfloat,constfloat,constfloat ,constfloat,constfloat,constfloat ,constfloat,constfloat,constfloat) | 0429 | 0421h 18min | 0429min | idMat3.idMat3(constfloat,constfloat ,constfloat,constfloat,constfloat ,constfloat,constfloat,constfloat ,constfloat) |
unzlocal_GetCurrentFileInfoInternal (unzFile,unz_file_info* ,unz_file_info_internal*,char*,uLong ,void*,uLong,char*,uLong) | 0439 | 0431h 18min | 0439min | __Globals .unzlocal_GetCurrentFileInfoInternal (unzFile,unz_file_info* ,unz_file_info_internal*,char*,uLong ,void*,uLong,char*,uLong) |
inflate_trees_dynamic(uInt,uInt,uInt* ,uInt*,uInt*,inflate_huft** ,inflate_huft**,inflate_huft*,z_streamp) | 0419 | 0411h 18min | 0419min | __Globals.inflate_trees_dynamic(uInt ,uInt,uInt*,uInt*,uInt*,inflate_huft** ,inflate_huft**,inflate_huft*,z_streamp) |
GetObstacles(constidPhysics*,constidAAS* ,constidEntity*,int,constidVec3& ,constidVec3&,obstacle_t*,int,idBounds&) | 0399 | 0391h 18min | 0399min | __Globals.GetObstacles(constidPhysics* ,constidAAS*,constidEntity*,int ,constidVec3&,constidVec3&,obstacle_t* ,int,idBounds&) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0409 | 0401h 18min | 0409min | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0449 | 0441h 18min | 0449min | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0489 | 0481h 18min | 0489min | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
Contacts(contactInfo_t*,constint ,constidVec3&,constidVec6&,constfloat ,constidClipModel*,constidMat3&,int ,constidEntity*) | 0499 | 0491h 18min | 0499min | idClip.Contacts(contactInfo_t*,constint ,constidVec3&,constidVec6&,constfloat ,constidClipModel*,constidMat3&,int ,constidEntity*) |
TranslationModel(trace_t&,constidVec3& ,constidVec3&,constidClipModel* ,constidMat3&,int,cmHandle_t ,constidVec3&,constidMat3&) | 0479 | 0471h 18min | 0479min | idClip.TranslationModel(trace_t& ,constidVec3&,constidVec3& ,constidClipModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) |
RotationModel(trace_t&,constidVec3& ,constidRotation&,constidClipModel* ,constidMat3&,int,cmHandle_t ,constidVec3&,constidMat3&) | 0459 | 0451h 18min | 0459min | idClip.RotationModel(trace_t& ,constidVec3&,constidRotation& ,constidClipModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) |
Translation(trace_t*,constidVec3& ,constidVec3&,constidTraceModel* ,constidMat3&,int,cmHandle_t ,constidVec3&,constidMat3&) | 0469 | 0461h 18min | 0469min | idCollisionModelManagerLocal.Translation (trace_t*,constidVec3&,constidVec3& ,constidTraceModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) |
Rotation(trace_t*,constidVec3& ,constidRotation&,constidTraceModel* ,constidMat3&,int,cmHandle_t ,constidVec3&,constidMat3&) | 0389 | 0381h 18min | 0389min | idCollisionModelManagerLocal.Rotation (trace_t*,constidVec3&,constidRotation& ,constidTraceModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) |
RotatePointThroughEpsilonPlane (constcm_traceWork_t*,constidVec3& ,constidVec3&,constidPlane&,constfloat ,constidVec3&,float&,idVec3&,idVec3&) | 0309 | 0301h 18min | 0309min | idCollisionModelManagerLocal .RotatePointThroughEpsilonPlane (constcm_traceWork_t*,constidVec3& ,constidVec3&,constidPlane&,constfloat ,constidVec3&,float&,idVec3&,idVec3&) |
unzlocal_GetCurrentFileInfoInternal (unzFile,unz_file_info* ,unz_file_info_internal*,char*,uLong ,void*,uLong,char*,uLong) | 0319 | 0311h 18min | 0319min | __Globals .unzlocal_GetCurrentFileInfoInternal (unzFile,unz_file_info* ,unz_file_info_internal*,char*,uLong ,void*,uLong,char*,uLong) |
inflate_trees_dynamic(uInt,uInt,uInt* ,uInt*,uInt*,inflate_huft** ,inflate_huft**,inflate_huft*,z_streamp) | 0299 | 0291h 18min | 0299min | __Globals.inflate_trees_dynamic(uInt ,uInt,uInt*,uInt*,uInt*,inflate_huft** ,inflate_huft**,inflate_huft*,z_streamp) |
logTexImage2D(GLenum,GLint,GLint,GLsizei ,GLsizei,GLint,GLenum,GLenum ,constGLvoid*) | 0279 | 0271h 18min | 0279min | __Globals.logTexImage2D(GLenum,GLint ,GLint,GLsizei,GLsizei,GLint,GLenum ,GLenum,constGLvoid*) |
logTexSubImage2D(GLenum,GLint,GLint ,GLint,GLsizei,GLsizei,GLenum,GLenum ,constGLvoid*) | 0289 | 0281h 18min | 0289min | __Globals.logTexSubImage2D(GLenum,GLint ,GLint,GLint,GLsizei,GLsizei,GLenum ,GLenum,constGLvoid*) |
GLColoredBoxWithLabel(float,float,float ,idVec4,constchar*,idVec4,float,float ,float) | 0329 | 0321h 18min | 0329min | __Globals.GLColoredBoxWithLabel(float ,float,float,idVec4,constchar*,idVec4 ,float,float,float) |
DrawStretchPic(float,float,float,float ,float,float,float,float ,constidMaterial*) | 0369 | 0361h 18min | 0369min | idRenderSystemLocal.DrawStretchPic(float ,float,float,float,float,float,float ,float,constidMaterial*) |
DrawStretchPic(float,float,float,float ,float,float,float,float ,constidMaterial*) | 0379 | 0371h 18min | 0379min | idGuiModel.DrawStretchPic(float,float ,float,float,float,float,float,float ,constidMaterial*) |
DrawStretchPic(float,float,float,float ,float,float,float,float ,constidMaterial*) | 0359 | 0351h 18min | 0359min | idRenderSystem.DrawStretchPic(float ,float,float,float,float,float,float ,float,constidMaterial*) |
StretchBlt(HDC,int,int,int,int,int,int ,int,int) | 0339 | 0331h 18min | 0339min | CDIB.StretchBlt(HDC,int,int,int,int,int ,int,int,int) |
StretchBlt(int,int,int,int,CDIB&,int,int ,int,int) | 0349 | 0341h 18min | 0349min | CDIB.StretchBlt(int,int,int,int,CDIB& ,int,int,int,int) |
ExpandBlt(int,int,int,int,CDIB&,int,int ,int,int) | 0589 | 0581h 18min | 0589min | CDIB.ExpandBlt(int,int,int,int,CDIB&,int ,int,int,int) |
Expand(int,int,int,int,CDIB&,int,int,int ,int) | 0579 | 0571h 18min | 0579min | CDIB.Expand(int,int,int,int,CDIB&,int ,int,int,int) |
DrawStretchPic(float,float,float,float ,float,float,float,float ,constidMaterial*) | 0569 | 0561h 18min | 0569min | idDeviceContext.DrawStretchPic(float ,float,float,float,float,float,float ,float,constidMaterial*) |
DrawMaterialRotated(float,float,float ,float,constidMaterial*,constidVec4& ,float,float,float) | 0619 | 0611h 18min | 0619min | idDeviceContext.DrawMaterialRotated (float,float,float,float ,constidMaterial*,constidVec4&,float ,float,float) |
DrawTextA(float,float,float,idVec4 ,constchar*,float,int,int,int) | 0609 | 0601h 18min | 0609min | idDeviceContext.DrawTextA(float,float ,float,idVec4,constchar*,float,int,int ,int) |
GetObstacles(constidPhysics*,constidAAS* ,constidEntity*,int,constidVec3& ,constidVec3&,obstacle_t*,int,idBounds&) | 0599 | 0591h 18min | 0599min | __Globals.GetObstacles(constidPhysics* ,constidAAS*,constidEntity*,int ,constidVec3&,constidVec3&,obstacle_t* ,int,idBounds&) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0529 | 0521h 18min | 0529min | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0519 | 0511h 18min | 0519min | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0509 | 0501h 18min | 0509min | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
Contacts(contactInfo_t*,constint ,constidVec3&,constidVec6&,constfloat ,constidClipModel*,constidMat3&,int ,constidEntity*) | 0559 | 0551h 18min | 0559min | idClip.Contacts(contactInfo_t*,constint ,constidVec3&,constidVec6&,constfloat ,constidClipModel*,constidMat3&,int ,constidEntity*) |
TranslationModel(trace_t&,constidVec3& ,constidVec3&,constidClipModel* ,constidMat3&,int,cmHandle_t ,constidVec3&,constidMat3&) | 0549 | 0541h 18min | 0549min | idClip.TranslationModel(trace_t& ,constidVec3&,constidVec3& ,constidClipModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) |
RotationModel(trace_t&,constidVec3& ,constidRotation&,constidClipModel* ,constidMat3&,int,cmHandle_t ,constidVec3&,constidMat3&) | 0539 | 0531h 18min | 0539min | idClip.RotationModel(trace_t& ,constidVec3&,constidRotation& ,constidClipModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) |
ClipLine(constidVec3*,constidVec3*,int ,int,idVec3&,idVec3&,int&,int&) | 0878 | 0871h 9min | 0875min | idFrustum.ClipLine(constidVec3* ,constidVec3*,int,int,idVec3&,idVec3& ,int&,int&) |
unzGetCurrentFileInfo(unzFile ,unz_file_info*,char*,uLong,void*,uLong ,char*,uLong) | 0868 | 0861h 9min | 0865min | __Globals.unzGetCurrentFileInfo(unzFile ,unz_file_info*,char*,uLong,void*,uLong ,char*,uLong) |
FindNearestGoal(aasGoal_t&,int ,constidVec3,constidVec3&,int ,aasObstacle_t*,int,idAASCallback&) | 0898 | 0891h 9min | 0895min | idAAS.FindNearestGoal(aasGoal_t&,int ,constidVec3,constidVec3&,int ,aasObstacle_t*,int,idAASCallback&) |
FindNearestGoal(aasGoal_t&,int ,constidVec3,constidVec3&,int ,aasObstacle_t*,int,idAASCallback&) | 0888 | 0881h 9min | 0885min | idAASLocal.FindNearestGoal(aasGoal_t& ,int,constidVec3,constidVec3&,int ,aasObstacle_t*,int,idAASCallback&) |
GetFirstBlockingObstacle (constobstacle_t*,int,int,constidVec2& ,constidVec2&,float&,int&,int&) | 0858 | 0851h 9min | 0855min | __Globals.GetFirstBlockingObstacle (constobstacle_t*,int,int,constidVec2& ,constidVec2&,float&,int&,int&) |
PredictPath(constidEntity*,constidAAS* ,constidVec3&,constidVec3&,int,int,int ,predictedPath_t&) | 0828 | 0821h 9min | 0825min | idAI.PredictPath(constidEntity* ,constidAAS*,constidVec3&,constidVec3& ,int,int,int,predictedPath_t&) |
BlendAnim(int,int,int,idJointQuat* ,float&,bool,bool,bool) | 0818 | 0811h 9min | 0815min | idAnimBlend.BlendAnim(int,int,int ,idJointQuat*,float&,bool,bool,bool) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) | 0848 | 0841h 9min | 0845min | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) | 0838 | 0831h 9min | 0835min | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) | 0908 | 0901h 9min | 0905min | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) |
Motion(trace_t&,constidVec3& ,constidVec3&,constidRotation& ,constidClipModel*,constidMat3&,int ,constidEntity*) | 0978 | 0971h 9min | 0975min | idClip.Motion(trace_t&,constidVec3& ,constidVec3&,constidRotation& ,constidClipModel*,constidMat3&,int ,constidEntity*) |
Setup(idAFBody*,idAFBody*,constidVec3& ,constidVec3&,constidVec3&,constfloat ,constfloat,constidVec3&) | 0968 | 0961h 9min | 0965min | idAFConstraint_PyramidLimit.Setup (idAFBody*,idAFBody*,constidVec3& ,constidVec3&,constidVec3&,constfloat ,constfloat,constidVec3&) |
CollisionBetweenEdgeBounds (cm_traceWork_t*,constidVec3& ,constidVec3&,constidVec3&,constidVec3& ,float,idVec3&,idVec3&) | 0998 | 0991h 9min | 0995min | idCollisionModelManagerLocal .CollisionBetweenEdgeBounds (cm_traceWork_t*,constidVec3& ,constidVec3&,constidVec3&,constidVec3& ,float,idVec3&,idVec3&) |
ContentsTrm(trace_t*,constidVec3& ,constidTraceModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) | 0988 | 0981h 9min | 0985min | idCollisionModelManagerLocal.ContentsTrm (trace_t*,constidVec3& ,constidTraceModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) |
unzGetCurrentFileInfo(unzFile ,unz_file_info*,char*,uLong,void*,uLong ,char*,uLong) | 0958 | 0951h 9min | 0955min | __Globals.unzGetCurrentFileInfo(unzFile ,unz_file_info*,char*,uLong,void*,uLong ,char*,uLong) |
RB_AddDebugText(constchar*,constidVec3& ,float,constidVec4&,constidMat3& ,constint,constint,constbool) | 0928 | 0921h 9min | 0925min | __Globals.RB_AddDebugText(constchar* ,constidVec3&,float,constidVec4& ,constidMat3&,constint,constint ,constbool) |
vorbis_lsp_to_curve(float*,int*,int,int ,float*,int,float,float) | 0918 | 0911h 9min | 0915min | __Globals.vorbis_lsp_to_curve(float* ,int*,int,int,float*,int,float,float) |
_ov_splice(float**,float**,int,int,int ,int,float*,float*) | 0948 | 0941h 9min | 0945min | __Globals._ov_splice(float**,float**,int ,int,int,int,float*,float*) |
Sys_FPU_PrintStateFlags(char*,int,int ,int,int,int,int,int) | 0938 | 0931h 9min | 0935min | __Globals.Sys_FPU_PrintStateFlags(char* ,int,int,int,int,int,int,int) |
logCopyTexImage2D(GLenum,GLint,GLenum ,GLint,GLint,GLsizei,GLsizei,GLint) | 0688 | 0681h 9min | 0685min | __Globals.logCopyTexImage2D(GLenum,GLint ,GLenum,GLint,GLint,GLsizei,GLsizei ,GLint) |
logCopyTexSubImage2D(GLenum,GLint,GLint ,GLint,GLint,GLint,GLsizei,GLsizei) | 0678 | 0671h 9min | 0675min | __Globals.logCopyTexSubImage2D(GLenum ,GLint,GLint,GLint,GLint,GLint,GLsizei ,GLsizei) |
logTexImage1D(GLenum,GLint,GLint,GLsizei ,GLint,GLenum,GLenum,constGLvoid*) | 0708 | 0701h 9min | 0705min | __Globals.logTexImage1D(GLenum,GLint ,GLint,GLsizei,GLint,GLenum,GLenum ,constGLvoid*) |
TraceToMeshFace(constsrfTriangles_t*,int ,float,float,constidVec3&,constidVec3& ,idVec3&,byte*) | 0698 | 0691h 9min | 0695min | __Globals.TraceToMeshFace (constsrfTriangles_t*,int,float,float ,constidVec3&,constidVec3&,idVec3&,byte* ) |
parseRange(constchar*,int,int*,int*,int* ,int*,bool*,int*) | 0668 | 0661h 9min | 0665min | __Globals.parseRange(constchar*,int,int* ,int*,int*,int*,bool*,int*) |
parseTimecodeRange(constchar*,int,int* ,int*,int*,int*,bool*,int*) | 0638 | 0631h 9min | 0635min | __Globals.parseTimecodeRange(constchar* ,int,int*,int*,int*,int*,bool*,int*) |
Patch_Combine(patchMesh_t*,patchMesh_t* ,int,int,int,int,bool,bool) | 0628 | 0621h 9min | 0625min | __Globals.Patch_Combine(patchMesh_t* ,patchMesh_t*,int,int,int,int,bool,bool) |
Generate3DImage(constbyte*,int,int,int ,textureFilter_t,bool,textureRepeat_t ,textureDepth_t) | 0658 | 0651h 9min | 0655min | idImage.Generate3DImage(constbyte*,int ,int,int,textureFilter_t,bool ,textureRepeat_t,textureDepth_t) |
DrawTextA(constchar*,constidVec3&,float ,constidVec4&,constidMat3&,constint ,constint,bool) | 0648 | 0641h 9min | 0645min | idRenderWorldLocal.DrawTextA(constchar* ,constidVec3&,float,constidVec4& ,constidMat3&,constint,constint,bool) |
BitBlt(int,int,int,int,CDIB&,int,int ,BYTE*) | 0718 | 0711h 9min | 0715min | CDIB.BitBlt(int,int,int,int,CDIB&,int ,int,BYTE*) |
DrawMaterial(float,float,float,float ,constidMaterial*,constidVec4&,float ,float) | 0788 | 0781h 9min | 0785min | idDeviceContext.DrawMaterial(float,float ,float,float,constidMaterial* ,constidVec4&,float,float) |
ClippedCoords(float*,float*,float* ,float*,float*,float*,float*,float*) | 0778 | 0771h 9min | 0775min | idDeviceContext.ClippedCoords(float* ,float*,float*,float*,float*,float* ,float*,float*) |
Init(idGameSSDWindow*,constidVec3& ,constidVec2&,int,int,SSDEntity*,bool ,bool) | 0808 | 0801h 9min | 0805min | SSDExplosion.Init(idGameSSDWindow* ,constidVec3&,constidVec2&,int,int ,SSDEntity*,bool,bool) |
GetNewExplosion(idGameSSDWindow* ,constidVec3&,constidVec2&,int,int ,SSDEntity*,bool,bool) | 0798 | 0791h 9min | 0795min | SSDExplosion.GetNewExplosion (idGameSSDWindow*,constidVec3& ,constidVec2&,int,int,SSDEntity*,bool ,bool) |
InitWithDefaults(constchar* ,constidRectangle&,constidVec4& ,constidVec4&,constchar*,constchar*,bool ,bool) | 0768 | 0761h 9min | 0765min | idSliderWindow.InitWithDefaults (constchar*,constidRectangle& ,constidVec4&,constidVec4&,constchar* ,constchar*,bool,bool) |
GetFirstBlockingObstacle (constobstacle_t*,int,int,constidVec2& ,constidVec2&,float&,int&,int&) | 0738 | 0731h 9min | 0735min | __Globals.GetFirstBlockingObstacle (constobstacle_t*,int,int,constidVec2& ,constidVec2&,float&,int&,int&) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) | 0728 | 0721h 9min | 0725min | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) | 0758 | 0751h 9min | 0755min | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) | 0748 | 0741h 9min | 0745min | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) |
![]() | Rule Violated: Avoid methods with too many local variables |
• Rule Description:
This rule matches methods with more than 15 variables.
Methods where NbVariables > 8 are hard to understand and maintain. Methods where NbVariables > 15 are extremely complex and must be refactored.
See the definition of the Nbvariables metric here: http://www.cppdepend.com/Metrics.aspx#Nbvariables
• How to Fix Issues:
To refactor such method and increase code quality and maintainability, certainly you'll have to split the method into several smaller methods or even create one or several classes to implement the logic.
During this process it is important to question the scope of each variable local to the method. This can be an indication if such local variable will become an instance field of the newly created class(es).
The estimated Debt, which means the effort to fix such issue, varies linearly from 10 minutes for a method with 15 variables, up to 2 hours for a methods with 80 or more variables.View Rule Description
This rule matches methods with more than 15 variables.
Methods where NbVariables > 8 are hard to understand and maintain. Methods where NbVariables > 15 are extremely complex and must be refactored.
See the definition of the Nbvariables metric here: http://www.cppdepend.com/Metrics.aspx#Nbvariables
• How to Fix Issues:
To refactor such method and increase code quality and maintainability, certainly you'll have to split the method into several smaller methods or even create one or several classes to implement the logic.
During this process it is important to question the scope of each variable local to the method. This can be an indication if such local variable will become an instance field of the newly created class(es).
The estimated Debt, which means the effort to fix such issue, varies linearly from 10 minutes for a method with 15 variables, up to 2 hours for a methods with 80 or more variables.View Rule Description
291 methods matched
- The following list of methods is truncated and contains only the first 100 methods of the 291 methods matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
291 methods | # Variables | Debt | Annual Interest | Full Name |
---|---|---|---|---|
InverseSelf() | 000238 | 0016h 0min | 0012h 0min | idMat6.InverseSelf() |
InverseSelf() | 00197 | 0006h 0min | 0002h 0min | idMat5.InverseSelf() |
Reachability_Step_Barrier_WaterJump_Walk OffLedge(int,int) | 00272 | 0025h 23min | 0021h 45min | idAASReach .Reachability_Step_Barrier_WaterJump_Wal kOffLedge(int,int) |
Determinant() | 00356 | 0034h 9min | 0031h 16min | idMat6.Determinant() |
ConvertLWOToModelSurfaces (conststructst_lwObject*) | 00448 | 0043h 32min | 0041h 1min | idRenderModelStatic .ConvertLWOToModelSurfaces (conststructst_lwObject*) |
ConvertASEToModelSurfaces (conststructaseModel_s*) | 00647 | 0063h 27min | 0061h 0min | idRenderModelStatic .ConvertASEToModelSurfaces (conststructaseModel_s*) |
ConvertMAToModelSurfaces (conststructmaModel_s*) | 00547 | 0053h 27min | 0051h 0min | idRenderModelStatic .ConvertMAToModelSurfaces (conststructmaModel_s*) |
CreateConnection(structSessionHandle* ,structconnectdata** ,structCurl_dns_entry**,bool*) | 00746 | 0073h 23min | 00758min | __Globals.CreateConnection (structSessionHandle* ,structconnectdata** ,structCurl_dns_entry**,bool*) |
DeriveTangents(idPlane*,idDrawVert* ,constint,constint*,constint) | 00945 | 0093h 18min | 00956min | idSIMD_SSE.DeriveTangents(idPlane* ,idDrawVert*,constint,constint*,constint ) |
mapping0_forward(vorbis_block*) | 00845 | 0083h 18min | 00856min | __Globals.mapping0_forward(vorbis_block* ) |
DeriveUnsmoothedTangents(idDrawVert* ,constdominantTri_s*,constint) | 01044 | 0103h 13min | 01054min | idSIMD_SSE.DeriveUnsmoothedTangents (idDrawVert*,constdominantTri_s* ,constint) |
Parse(idParser*,bool) | 01143 | 0113h 9min | 01152min | idWindow.Parse(idParser*,bool) |
GetObstacles(constidPhysics*,constidAAS* ,constidEntity*,int,constidVec3& ,constidVec3&,obstacle_t*,int,idBounds&) | 01342 | 0133h 4min | 01351min | __Globals.GetObstacles(constidPhysics* ,constidAAS*,constidEntity*,int ,constidVec3&,constidVec3&,obstacle_t* ,int,idBounds&) |
GetObstacles(constidPhysics*,constidAAS* ,constidEntity*,int,constidVec3& ,constidVec3&,obstacle_t*,int,idBounds&) | 01242 | 0123h 4min | 01251min | __Globals.GetObstacles(constidPhysics* ,constidAAS*,constidEntity*,int ,constidVec3&,constidVec3&,obstacle_t* ,int,idBounds&) |
ClippedProjectionBounds(constidFrustum& ,constidBox&,idBounds&) | 01738 | 0172h 46min | 01743min | idFrustum.ClippedProjectionBounds (constidFrustum&,constidBox&,idBounds&) |
Evaluate() | 01838 | 0182h 46min | 01843min | idIK_Walk.Evaluate() |
Curl_readwrite(structconnectdata*,bool*) | 01638 | 0162h 46min | 01643min | __Globals.Curl_readwrite (structconnectdata*,bool*) |
floor1_encode(vorbis_block* ,vorbis_look_floor1*,int*,int*) | 01438 | 0142h 46min | 01443min | __Globals.floor1_encode(vorbis_block* ,vorbis_look_floor1*,int*,int*) |
Evaluate() | 01538 | 0152h 46min | 01543min | idIK_Walk.Evaluate() |
R_ParticleDeform(drawSurf_t*,bool) | 02137 | 0212h 41min | 02141min | __Globals.R_ParticleDeform(drawSurf_t* ,bool) |
Entity_PostParse(entity_t*,brush_t*) | 02037 | 0202h 41min | 02041min | __Globals.Entity_PostParse(entity_t* ,brush_t*) |
Segment(int*,float*,int,float) | 01937 | 0192h 41min | 01941min | codec.Segment(int*,float*,int,float) |
InverseSelf() | 02436 | 0242h 36min | 02440min | idMat4.InverseSelf() |
floor1_fit(vorbis_block* ,vorbis_look_floor1*,constfloat* ,constfloat*) | 02536 | 0252h 36min | 02540min | __Globals.floor1_fit(vorbis_block* ,vorbis_look_floor1*,constfloat* ,constfloat*) |
RenderBumpFlat_f(constidCmdArgs&) | 02236 | 0222h 36min | 02240min | __Globals.RenderBumpFlat_f (constidCmdArgs&) |
GetWeaponDef(constchar*,int) | 02336 | 0232h 36min | 02340min | idWeapon.GetWeaponDef(constchar*,int) |
AF_CreateMesh(constidDict&,idVec3& ,idMat3&,bool&) | 02835 | 0282h 32min | 02838min | idGameEdit.AF_CreateMesh(constidDict& ,idVec3&,idMat3&,bool&) |
dradfg(int,int,int,int,float*,float* ,float*,float*,float*,float*) | 02935 | 0292h 32min | 02938min | __Globals.dradfg(int,int,int,int,float* ,float*,float*,float*,float*,float*) |
dradbg(int,int,int,int,float*,float* ,float*,float*,float*,float*) | 02635 | 0262h 32min | 02638min | __Globals.dradbg(int,int,int,int,float* ,float*,float*,float*,float*,float*) |
AF_CreateMesh(constidDict&,idVec3& ,idMat3&,bool&) | 02735 | 0272h 32min | 02738min | idGameEdit.AF_CreateMesh(constidDict& ,idVec3&,idMat3&,bool&) |
ProjectionIntegrals(int,int,int ,structprojectionIntegrals_s&) | 03134 | 0312h 27min | 03136min | idTraceModel.ProjectionIntegrals(int,int ,int,structprojectionIntegrals_s&) |
RasterizeTriangle(constsrfTriangles_t* ,constidVec3*,int,renderBump_t*) | 03034 | 0302h 27min | 03036min | __Globals.RasterizeTriangle (constsrfTriangles_t*,constidVec3*,int ,renderBump_t*) |
ClientProcessReliableMessage(int ,constidBitMsg&) | 03333 | 0332h 23min | 03334min | idGameLocal.ClientProcessReliableMessage (int,constidBitMsg&) |
UpdateFocus() | 03233 | 0322h 23min | 03234min | idPlayer.UpdateFocus() |
Test() | 03632 | 0362h 18min | 03632min | idMatX.Test() |
Patch_Weld(patchMesh_t*,patchMesh_t*) | 03532 | 0352h 18min | 03532min | __Globals.Patch_Weld(patchMesh_t* ,patchMesh_t*) |
HandleMainMenuCommands(constchar*) | 03432 | 0342h 18min | 03432min | idSessionLocal.HandleMainMenuCommands (constchar*) |
ClientProcessReliableMessage(int ,constidBitMsg&) | 03931 | 0392h 13min | 03931min | idGameLocal.ClientProcessReliableMessage (int,constidBitMsg&) |
UpdateFocus() | 03831 | 0382h 13min | 03831min | idPlayer.UpdateFocus() |
Select_AutoCaulk() | 03731 | 0372h 13min | 03731min | __Globals.Select_AutoCaulk() |
ParticleOrigin(particleGen_t*,idVec3&) | 04130 | 0412h 9min | 04129min | idParticleStage.ParticleOrigin (particleGen_t*,idVec3&) |
AddChannelContribution (idSoundEmitterLocal*,idSoundChannel* ,int,int,float*) | 04030 | 0402h 9min | 04029min | idSoundWorldLocal.AddChannelContribution (idSoundEmitterLocal*,idSoundChannel* ,int,int,float*) |
Split(constidPlane&,constfloat ,idSurface**,idSurface**,int*,int*) | 04429 | 0442h 4min | 04427min | idSurface.Split(constidPlane&,constfloat ,idSurface**,idSurface**,int*,int*) |
Curl_ldap(structconnectdata*) | 04529 | 0452h 4min | 04527min | __Globals.Curl_ldap(structconnectdata*) |
MakeMegaTexture_f(constidCmdArgs&) | 04229 | 0422h 4min | 04227min | idMegaTexture.MakeMegaTexture_f (constidCmdArgs&) |
VQ(constint,constint,constunsignedchar* ,float*,double**,constbool) | 04329 | 0432h 4min | 04327min | codec.VQ(constint,constint ,constunsignedchar*,float*,double** ,constbool) |
HessenbergToRealSchur(idMatX&,idVecX& ,idVecX&) | 04828 | 0482h 0min | 04825min | idMatX.HessenbergToRealSchur(idMatX& ,idVecX&,idVecX&) |
R_EyeballDeform(drawSurf_t*) | 04928 | 0492h 0min | 04925min | __Globals.R_EyeballDeform(drawSurf_t*) |
Patch_Combine(patchMesh_t*,patchMesh_t* ,int,int,int,int,bool,bool) | 04628 | 0462h 0min | 04625min | __Globals.Patch_Combine(patchMesh_t* ,patchMesh_t*,int,int,int,int,bool,bool) |
ImageForTime(constint,constbool) | 04728 | 0472h 0min | 04725min | idSoundSystemLocal.ImageForTime(constint ,constbool) |
WndProc(HWND,UINT,WPARAM,LPARAM) | 05128 | 0512h 0min | 05125min | rvGENavigator.WndProc(HWND,UINT,WPARAM ,LPARAM) |
CreateMesh(float) | 05028 | 0502h 0min | 05025min | idMayaExport.CreateMesh(float) |
DeriveUnsmoothedTangents(idDrawVert* ,constdominantTri_s*,constint) | 05427 | 0541h 55min | 05423min | idSIMD_Generic.DeriveUnsmoothedTangents (idDrawVert*,constdominantTri_s* ,constint) |
dprintf_formatf(void*,int(*)(int,FILE*) ,constchar*,va_list) | 05527 | 0551h 55min | 05523min | __Globals.dprintf_formatf(void*,int(*) (int,FILE*),constchar*,va_list) |
FvqData(byte*,int,int,int,quadcel*,bool) | 05227 | 0521h 55min | 05223min | codec.FvqData(byte*,int,int,int,quadcel* ,bool) |
HandleGuiCommands(constchar*) | 05327 | 0531h 55min | 05323min | idMultiplayerGame.HandleGuiCommands (constchar*) |
AuxiliaryForces(float) | 06226 | 0621h 50min | 06221min | idPhysics_AF.AuxiliaryForces(float) |
HandleGuiCommands(constchar*) | 06126 | 0611h 50min | 06121min | idMultiplayerGame.HandleGuiCommands (constchar*) |
Curl_http(structconnectdata*) | 06326 | 0631h 50min | 06321min | __Globals.Curl_http(structconnectdata*) |
Rotation180(trace_t*,constidVec3& ,constidVec3&,constfloat,constfloat ,constidVec3&,constidTraceModel* ,constidMat3&,int,cmHandle_t ,constidVec3&,constidMat3&) | 06526 | 0651h 50min | 06521min | idCollisionModelManagerLocal.Rotation180 (trace_t*,constidVec3&,constidVec3& ,constfloat,constfloat,constidVec3& ,constidTraceModel*,constidMat3&,int ,cmHandle_t,constidVec3&,constidMat3&) |
R_CreateTurboShadowVolume (constidRenderEntityLocal* ,constsrfTriangles_t* ,constidRenderLightLocal*,srfCullInfo_t& ) | 06426 | 0641h 50min | 06421min | __Globals.R_CreateTurboShadowVolume (constidRenderEntityLocal* ,constsrfTriangles_t* ,constidRenderLightLocal*,srfCullInfo_t& ) |
vorbis_synthesis_blockin (vorbis_dsp_state*,vorbis_block*) | 05726 | 0571h 50min | 05721min | __Globals.vorbis_synthesis_blockin (vorbis_dsp_state*,vorbis_block*) |
dradb4(int,int,float*,float*,float* ,float*,float*) | 05626 | 0561h 50min | 05621min | __Globals.dradb4(int,int,float*,float* ,float*,float*,float*) |
GEItescriptsDlg_Apply(HWND) | 05826 | 0581h 50min | 05821min | __Globals.GEItescriptsDlg_Apply(HWND) |
LoadFLT(constchar*) | 06026 | 0601h 50min | 06021min | idRenderModelStatic.LoadFLT(constchar*) |
AuxiliaryForces(float) | 05926 | 0591h 50min | 05921min | idPhysics_AF.AuxiliaryForces(float) |
Determinant() | 07125 | 0711h 46min | 07120min | idMat5.Determinant() |
SlideMove(bool,bool,bool,bool) | 07025 | 0701h 46min | 07020min | idPhysics_Player.SlideMove(bool,bool ,bool,bool) |
dradb3(int,int,float*,float*,float* ,float*) | 07325 | 0731h 46min | 07320min | __Globals.dradb3(int,int,float*,float* ,float*,float*) |
Brush_DrawCombatNode(brush_t*,bool,bool) | 07225 | 0721h 46min | 07220min | __Globals.Brush_DrawCombatNode(brush_t* ,bool,bool) |
ParticleVerts(particleGen_t*,constidVec3 ,idDrawVert*) | 06725 | 0671h 46min | 06720min | idParticleStage.ParticleVerts (particleGen_t*,constidVec3,idDrawVert*) |
CreateOverlay(constidRenderModel* ,constidPlane*,constidMaterial*) | 06625 | 0661h 46min | 06620min | idRenderModelOverlay.CreateOverlay (constidRenderModel*,constidPlane* ,constidMaterial*) |
HandleEvent(constsysEvent_t*,bool*) | 06925 | 0691h 46min | 06920min | idWindow.HandleEvent(constsysEvent_t* ,bool*) |
SlideMove(bool,bool,bool,bool) | 06825 | 0681h 46min | 06820min | idPhysics_Player.SlideMove(bool,bool ,bool,bool) |
BlendJoints(idJointQuat* ,constidJointQuat*,constfloat,constint* ,constint) | 08324 | 0831h 41min | 08318min | idSIMD_SSE.BlendJoints(idJointQuat* ,constidJointQuat*,constfloat,constint* ,constint) |
R_ListImages_f(constidCmdArgs&) | 08224 | 0821h 41min | 08218min | __Globals.R_ListImages_f(constidCmdArgs& ) |
R_FlareDeform(drawSurf_t*) | 08124 | 0811h 41min | 08118min | __Globals.R_FlareDeform(drawSurf_t*) |
drfti1(int,float*,int*) | 08624 | 0861h 41min | 08618min | __Globals.drfti1(int,float*,int*) |
dradf4(int,int,float*,float*,float* ,float*,float*) | 08524 | 0851h 41min | 08518min | __Globals.dradf4(int,int,float*,float* ,float*,float*,float*) |
FragmentSilQuad(silQuad_t,silPlane_t* ,shadowOptEdge_t*,shadowOptEdge_t*) | 08424 | 0841h 41min | 08418min | __Globals.FragmentSilQuad(silQuad_t ,silPlane_t*,shadowOptEdge_t* ,shadowOptEdge_t*) |
ProcessConnectMessage(constnetadr_t ,constidBitMsg&) | 08024 | 0801h 41min | 08018min | idAsyncServer.ProcessConnectMessage (constnetadr_t,constidBitMsg&) |
Trace(modelTrace_t&,constidVec3& ,constidVec3&,constfloat,bool,bool) | 07624 | 0761h 41min | 07618min | idRenderWorldLocal.Trace(modelTrace_t& ,constidVec3&,constidVec3&,constfloat ,bool,bool) |
FindAmplitude(idSoundEmitterLocal* ,constint,constidVec3* ,consts_channelType,bool) | 07524 | 0751h 41min | 07518min | idSoundWorldLocal.FindAmplitude (idSoundEmitterLocal*,constint ,constidVec3*,consts_channelType,bool) |
Update(idPlayer*,bool) | 07424 | 0741h 41min | 07418min | idGrabber.Update(idPlayer*,bool) |
Explode(consttrace_t&,idEntity*) | 07924 | 0791h 41min | 07918min | idProjectile.Explode(consttrace_t& ,idEntity*) |
LaunchProjectile(constchar*,idEntity* ,bool) | 07824 | 0781h 41min | 07818min | idAI.LaunchProjectile(constchar* ,idEntity*,bool) |
UpdateAnimationControllers() | 07724 | 0771h 41min | 07718min | idAI.UpdateAnimationControllers() |
ClipInPlace(constidPlane&,constfloat ,constbool) | 09623 | 0961h 36min | 09616min | idSurface.ClipInPlace(constidPlane& ,constfloat,constbool) |
Curl_cookie_add(structSessionHandle* ,structCookieInfo*,bool,char*,char* ,char*) | 09523 | 0951h 36min | 09516min | __Globals.Curl_cookie_add (structSessionHandle*,structCookieInfo* ,bool,char*,char*,char*) |
LoadTGA(constchar*,byte**,int*,int* ,time_t*) | 09423 | 0941h 36min | 09416min | __Globals.LoadTGA(constchar*,byte**,int* ,int*,time_t*) |
R_MakeAmbientMap_f(constidCmdArgs&) | 09923 | 0991h 36min | 09916min | __Globals.R_MakeAmbientMap_f (constidCmdArgs&) |
make_sv(constpolyhedron&,idVec4) | 09823 | 0981h 36min | 09816min | __Globals.make_sv(constpolyhedron& ,idVec4) |
R_CreateVertexProgramTurboShadowVolume (constidRenderEntityLocal* ,constsrfTriangles_t* ,constidRenderLightLocal*,srfCullInfo_t& ) | 09723 | 0971h 36min | 09716min | __Globals .R_CreateVertexProgramTurboShadowVolume (constidRenderEntityLocal* ,constsrfTriangles_t* ,constidRenderLightLocal*,srfCullInfo_t& ) |
Brush_MoveVertex(brush_t*,constidVec3& ,constidVec3&,idVec3&,bool) | 09323 | 0931h 36min | 09316min | __Globals.Brush_MoveVertex(brush_t* ,constidVec3&,constidVec3&,idVec3&,bool) |
Map_SaveFile(constchar*,bool,bool) | 08923 | 0891h 36min | 08916min | __Globals.Map_SaveFile(constchar*,bool ,bool) |
Map_ImportBuffer(char*,bool) | 08823 | 0881h 36min | 08816min | __Globals.Map_ImportBuffer(char*,bool) |
ProcessDownloadRequestMessage (constnetadr_t,constidBitMsg&) | 08723 | 0871h 36min | 08716min | idAsyncServer .ProcessDownloadRequestMessage (constnetadr_t,constidBitMsg&) |
GravSubdivLeafNode(idBrushBSPNode*) | 09223 | 0921h 36min | 09216min | idAASBuild.GravSubdivLeafNode (idBrushBSPNode*) |
AddStrList(constchar*,idStrList*,bool) | 09123 | 0911h 36min | 09116min | MaterialTreeView.AddStrList(constchar* ,idStrList*,bool) |
PostParse() | 09023 | 0901h 36min | 09016min | idListWindow.PostParse() |
![]() | Rule Violated: Avoid methods with too many overloads |
• Rule Description:
Method overloading is the ability to create multiple methods of the same name with different implementations, and various set of parameters.
This rule matches sets of methods with 6 overloads or more.
Such method set might be a problem to maintain and provokes coupling higher than necessary.
See the definition of the NbOverloads metric here http://www.cppdepend.com/Metrics.aspx#NbOverloads
• How to Fix Issues:
Typically the too many overloads phenomenon appears when an algorithm takes a various set of in-parameters. Each overload is presented as a facility to provide a various set of in-parameters. In such situation, the C# and VB.NET language feature named Named and Optional arguments should be used.
The too many overloads phenomenon can also be a consequence of the usage of the visitor design pattern http://en.wikipedia.org/wiki/Visitor_pattern since a method named Visit() must be provided for each sub type. In such situation there is no need for fix.
Sometime too many overloads phenomenon is not the symptom of a problem, for example when a numeric to something conversion method applies to all numeric and nullable numeric types.
The estimated Debt, which means the effort to fix such issue, is of 2 minutes per method overload.View Rule Description
Method overloading is the ability to create multiple methods of the same name with different implementations, and various set of parameters.
This rule matches sets of methods with 6 overloads or more.
Such method set might be a problem to maintain and provokes coupling higher than necessary.
See the definition of the NbOverloads metric here http://www.cppdepend.com/Metrics.aspx#NbOverloads
• How to Fix Issues:
Typically the too many overloads phenomenon appears when an algorithm takes a various set of in-parameters. Each overload is presented as a facility to provide a various set of in-parameters. In such situation, the C# and VB.NET language feature named Named and Optional arguments should be used.
The too many overloads phenomenon can also be a consequence of the usage of the visitor design pattern http://en.wikipedia.org/wiki/Visitor_pattern since a method named Visit() must be provided for each sub type. In such situation there is no need for fix.
Sometime too many overloads phenomenon is not the symptom of a problem, for example when a numeric to something conversion method applies to all numeric and nullable numeric types.
The estimated Debt, which means the effort to fix such issue, is of 2 minutes per method overload.View Rule Description
195 methods matched
- The following list of methods is truncated and contains only the first 100 methods of the 195 methods matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
195 methods | overloads | Debt | Severity | Full Name |
---|---|---|---|---|
idStr() | 01310 methods | 0332min 0s | 033Medium | idStr.idStr() |
idStr(constidStr&) | 01410 methods | 0322min 0s | 032Medium | idStr.idStr(constidStr&) |
idStr(constidStr&,int,int) | 01210 methods | 0312min 0s | 031Medium | idStr.idStr(constidStr&,int,int) |
idStr(constchar*) | 01010 methods | 0362min 0s | 036Medium | idStr.idStr(constchar*) |
idStr(constchar*,int,int) | 01110 methods | 0352min 0s | 035Medium | idStr.idStr(constchar*,int,int) |
idStr(constbool) | 01810 methods | 0342min 0s | 034Medium | idStr.idStr(constbool) |
idStr(constchar) | 01910 methods | 0272min 0s | 027Medium | idStr.idStr(constchar) |
idStr(constint) | 01710 methods | 0262min 0s | 026Medium | idStr.idStr(constint) |
idStr(constunsignedint) | 01510 methods | 0252min 0s | 025Medium | idStr.idStr(constunsignedint) |
idStr(constfloat) | 01610 methods | 0302min 0s | 030Medium | idStr.idStr(constfloat) |
idEventArg() | 00310 methods | 0292min 0s | 029Medium | idEventArg.idEventArg() |
idEventArg(int) | 00410 methods | 0282min 0s | 028Medium | idEventArg.idEventArg(int) |
idEventArg(float) | 00210 methods | 0372min 0s | 037Medium | idEventArg.idEventArg(float) |
idEventArg(idVec3&) | 00010 methods | 0462min 0s | 046Medium | idEventArg.idEventArg(idVec3&) |
idEventArg(constidStr&) | 00110 methods | 0452min 0s | 045Medium | idEventArg.idEventArg(constidStr&) |
idEventArg(constchar*) | 00810 methods | 0442min 0s | 044Medium | idEventArg.idEventArg(constchar*) |
idEventArg(constclassidEntity*) | 00910 methods | 0492min 0s | 049Medium | idEventArg.idEventArg (constclassidEntity*) |
idEventArg(conststructtrace_s*) | 00710 methods | 0482min 0s | 048Medium | idEventArg.idEventArg (conststructtrace_s*) |
idEventArg(constidEventArg&) | 00510 methods | 0472min 0s | 047Medium | idEventArg.idEventArg(constidEventArg&) |
idEventArg(idEventArg&&) | 00610 methods | 0402min 0s | 040Medium | idEventArg.idEventArg(idEventArg&&) |
idEventArg() | 0399 methods | 0392min 0s | 039Medium | idEventArg.idEventArg() |
idEventArg(int) | 0409 methods | 0382min 0s | 038Medium | idEventArg.idEventArg(int) |
idEventArg(float) | 0419 methods | 0432min 0s | 043Medium | idEventArg.idEventArg(float) |
idEventArg(idVec3&) | 0389 methods | 0422min 0s | 042Medium | idEventArg.idEventArg(idVec3&) |
idEventArg(constidStr&) | 0359 methods | 0412min 0s | 041Medium | idEventArg.idEventArg(constidStr&) |
idEventArg(constchar*) | 0369 methods | 0082min 0s | 008Medium | idEventArg.idEventArg(constchar*) |
idEventArg(constclassidEntity*) | 0379 methods | 0072min 0s | 007Medium | idEventArg.idEventArg (constclassidEntity*) |
idEventArg(conststructtrace_s*) | 0429 methods | 0062min 0s | 006Medium | idEventArg.idEventArg (conststructtrace_s*) |
idEventArg(idEventArg&&) | 0479 methods | 0112min 0s | 011Medium | idEventArg.idEventArg(idEventArg&&) |
PostEventMS(constidEventDef*,int) | 0489 methods | 0102min 0s | 010Medium | idClass.PostEventMS(constidEventDef*,int ) |
PostEventMS(constidEventDef*,int ,idEventArg) | 0499 methods | 0092min 0s | 009Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg) | 0469 methods | 0022min 0s | 002Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg) | 0439 methods | 0012min 0s | 001Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0449 methods | 0002min 0s | 000Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) | 0459 methods | 0052min 0s | 005Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) | 0249 methods | 0042min 0s | 004Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0259 methods | 0032min 0s | 003Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) | 0269 methods | 0122min 0s | 012Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
PostEventSec(constidEventDef*,float) | 0239 methods | 0212min 0s | 021Medium | idClass.PostEventSec(constidEventDef* ,float) |
PostEventSec(constidEventDef*,float ,idEventArg) | 0209 methods | 0202min 0s | 020Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg) | 0219 methods | 0192min 0s | 019Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg) | 0229 methods | 0242min 0s | 024Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0279 methods | 0232min 0s | 023Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) | 0329 methods | 0222min 0s | 022Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) | 0339 methods | 0152min 0s | 015Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0349 methods | 0142min 0s | 014Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) | 0319 methods | 0132min 0s | 013Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
ProcessEvent(constidEventDef*) | 0289 methods | 0182min 0s | 018Medium | idClass.ProcessEvent(constidEventDef*) |
ProcessEvent(constidEventDef*,idEventArg ) | 0299 methods | 0172min 0s | 017Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg) | 0309 methods | 0162min 0s | 016Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg) | 0729 methods | 0832min 0s | 083Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg,idEventArg) | 0719 methods | 0822min 0s | 082Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg ,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0749 methods | 0812min 0s | 081Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) | 0739 methods | 0862min 0s | 086Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) | 0689 methods | 0852min 0s | 085Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0679 methods | 0842min 0s | 084Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
PostEventMS(constidEventDef*,int) | 0709 methods | 0772min 0s | 077Medium | idClass.PostEventMS(constidEventDef*,int ) |
PostEventMS(constidEventDef*,int ,idEventArg) | 0699 methods | 0762min 0s | 076Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg) | 0809 methods | 0752min 0s | 075Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg) | 0799 methods | 0802min 0s | 080Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0829 methods | 0792min 0s | 079Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) | 0819 methods | 0782min 0s | 078Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) | 0769 methods | 0872min 0s | 087Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0759 methods | 0962min 0s | 096Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) |
PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) | 0789 methods | 0952min 0s | 095Medium | idClass.PostEventMS(constidEventDef*,int ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
PostEventSec(constidEventDef*,float) | 0779 methods | 0942min 0s | 094Medium | idClass.PostEventSec(constidEventDef* ,float) |
PostEventSec(constidEventDef*,float ,idEventArg) | 0669 methods | 0992min 0s | 099Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg) | 0559 methods | 0982min 0s | 098Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg) | 0549 methods | 0972min 0s | 097Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0579 methods | 0902min 0s | 090Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) | 0569 methods | 0892min 0s | 089Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) | 0519 methods | 0882min 0s | 088Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0509 methods | 0932min 0s | 093Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) |
PostEventSec(constidEventDef*,float ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) | 0539 methods | 0922min 0s | 092Medium | idClass.PostEventSec(constidEventDef* ,float,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
ProcessEvent(constidEventDef*) | 0529 methods | 0912min 0s | 091Medium | idClass.ProcessEvent(constidEventDef*) |
ProcessEvent(constidEventDef*,idEventArg ) | 0639 methods | 0582min 0s | 058Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg) | 0629 methods | 0572min 0s | 057Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg) | 0659 methods | 0562min 0s | 056Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg,idEventArg) | 0649 methods | 0612min 0s | 061Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg ,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0599 methods | 0602min 0s | 060Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) | 0589 methods | 0592min 0s | 059Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg) | 0619 methods | 0522min 0s | 052Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) |
ProcessEvent(constidEventDef*,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg) | 0609 methods | 0512min 0s | 051Medium | idClass.ProcessEvent(constidEventDef* ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg,idEventArg ,idEventArg,idEventArg) |
Dot(float*,constidVec3&,constidVec3* ,constint) | 0948 methods | 0502min 0s | 050Medium | idSIMDProcessor.Dot(float*,constidVec3& ,constidVec3*,constint) |
Dot(float*,constidVec3&,constidPlane* ,constint) | 0958 methods | 0552min 0s | 055Medium | idSIMDProcessor.Dot(float*,constidVec3& ,constidPlane*,constint) |
Dot(float*,constidVec3&,constidDrawVert* ,constint) | 0928 methods | 0542min 0s | 054Medium | idSIMDProcessor.Dot(float*,constidVec3& ,constidDrawVert*,constint) |
Dot(float*,constidPlane&,constidVec3* ,constint) | 0938 methods | 0532min 0s | 053Medium | idSIMDProcessor.Dot(float*,constidPlane& ,constidVec3*,constint) |
Dot(float*,constidPlane&,constidPlane* ,constint) | 0988 methods | 0622min 0s | 062Medium | idSIMDProcessor.Dot(float*,constidPlane& ,constidPlane*,constint) |
Dot(float*,constidPlane& ,constidDrawVert*,constint) | 0998 methods | 0712min 0s | 071Medium | idSIMDProcessor.Dot(float*,constidPlane& ,constidDrawVert*,constint) |
Dot(float*,constidVec3*,constidVec3* ,constint) | 0968 methods | 0702min 0s | 070Medium | idSIMDProcessor.Dot(float*,constidVec3* ,constidVec3*,constint) |
Dot(float&,constfloat*,constfloat* ,constint) | 0978 methods | 0692min 0s | 069Medium | idSIMDProcessor.Dot(float&,constfloat* ,constfloat*,constint) |
Dot(float*,constidVec3&,constidVec3* ,constint) | 0918 methods | 0742min 0s | 074Medium | idSIMD_Generic.Dot(float*,constidVec3& ,constidVec3*,constint) |
Dot(float*,constidVec3&,constidPlane* ,constint) | 0858 methods | 0732min 0s | 073Medium | idSIMD_Generic.Dot(float*,constidVec3& ,constidPlane*,constint) |
Dot(float*,constidVec3&,constidDrawVert* ,constint) | 0868 methods | 0722min 0s | 072Medium | idSIMD_Generic.Dot(float*,constidVec3& ,constidDrawVert*,constint) |
Dot(float*,constidPlane&,constidVec3* ,constint) | 0838 methods | 0652min 0s | 065Medium | idSIMD_Generic.Dot(float*,constidPlane& ,constidVec3*,constint) |
Dot(float*,constidPlane&,constidPlane* ,constint) | 0848 methods | 0642min 0s | 064Medium | idSIMD_Generic.Dot(float*,constidPlane& ,constidPlane*,constint) |
Dot(float*,constidPlane& ,constidDrawVert*,constint) | 0898 methods | 0632min 0s | 063Medium | idSIMD_Generic.Dot(float*,constidPlane& ,constidDrawVert*,constint) |
Dot(float*,constidVec3*,constidVec3* ,constint) | 0908 methods | 0682min 0s | 068Medium | idSIMD_Generic.Dot(float*,constidVec3* ,constidVec3*,constint) |
Dot(float&,constfloat*,constfloat* ,constint) | 0878 methods | 0672min 0s | 067Medium | idSIMD_Generic.Dot(float&,constfloat* ,constfloat*,constint) |
Dot(float*,constidVec3&,constidVec3* ,constint) | 0888 methods | 0662min 0s | 066Medium | idSIMD_SSE.Dot(float*,constidVec3& ,constidVec3*,constint) |
![]() | Rule Violated: Avoid methods potentially poorly commented |
• Rule Description:
This rule matches methods with less than 20% of comment lines and that have at least 20 lines of code. Such method might need to be more commented.
See the definitions of the Comments metric here: http://www.cppdepend.com/Metrics.aspx#PercentageComment http://www.cppdepend.com/Metrics.aspx#NbLinesOfComment
Notice that only comments about the method implementation (comments in method body) are taken account.
• How to Fix Issues:
Typically add more comment. But code commenting is subject to controversy. While poorly written and designed code would needs a lot of comment to be understood, clean code doesn't need that much comment, especially if variables and methods are properly named and convey enough information. Unit-Test code can also play the role of code commenting.
However, even when writing clean and well-tested code, one will have to write hacks at a point, usually to circumvent some API limitations or bugs. A hack is a non-trivial piece of code, that doesn't make sense at first glance, and that took time and web research to be found. In such situation comments must absolutely be used to express the intention, the need for the hacks and the source where the solution has been found.
The estimated Debt, which means the effort to comment such method, varies linearly from 2 minutes for 10 lines of code not commented, up to 20 minutes for 200 or more, lines of code not commented.View Rule Description
This rule matches methods with less than 20% of comment lines and that have at least 20 lines of code. Such method might need to be more commented.
See the definitions of the Comments metric here: http://www.cppdepend.com/Metrics.aspx#PercentageComment http://www.cppdepend.com/Metrics.aspx#NbLinesOfComment
Notice that only comments about the method implementation (comments in method body) are taken account.
• How to Fix Issues:
Typically add more comment. But code commenting is subject to controversy. While poorly written and designed code would needs a lot of comment to be understood, clean code doesn't need that much comment, especially if variables and methods are properly named and convey enough information. Unit-Test code can also play the role of code commenting.
However, even when writing clean and well-tested code, one will have to write hacks at a point, usually to circumvent some API limitations or bugs. A hack is a non-trivial piece of code, that doesn't make sense at first glance, and that took time and web research to be found. In such situation comments must absolutely be used to express the intention, the need for the hacks and the source where the solution has been found.
The estimated Debt, which means the effort to comment such method, varies linearly from 2 minutes for 10 lines of code not commented, up to 20 minutes for 200 or more, lines of code not commented.View Rule Description
1,957 methods matched
- The following list of methods is truncated and contains only the first 100 methods of the 1957 methods matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 957 methods | Percentage Comment | # lines of code (LOC) | # lines of comment | nbLinesOfCodeNotCommented | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|
Execute() | 0912.19 | 001715 | 05616 | 001699 | 01520min | 00714min | idInterpreter.Execute() |
Execute() | 0922.19 | 000715 | 05416 | 000699 | 01620min | 00814min | idInterpreter.Execute() |
GLimp_EnableLogging(bool) | 0872.62 | 002706 | 04119 | 002687 | 01720min | 01214min | __Globals.GLimp_EnableLogging(bool) |
QGL_Init(constchar*) | 0892.39 | 004368 | 0729 | 003359 | 01220min | 01014min | __Globals.QGL_Init(constchar*) |
QGL_Shutdown() | 0941.63 | 005362 | 0876 | 004356 | 01320min | 00514min | __Globals.QGL_Shutdown() |
Curl_gd_parse(void*) | 00716.77 | 003402 | 00081 | 005321 | 01420min | 0924min 15s | __Globals.Curl_gd_parse(void*) |
TestMath() | 0951.52 | 008325 | 0885 | 007320 | 02120min | 00414min | __Globals.TestMath() |
EvaluateTokens(idToken*,long*,double* ,int) | 0576.76 | 007345 | 02425 | 006320 | 02220min | 04211min | idParser.EvaluateTokens(idToken*,long* ,double*,int) |
ParseStage(idLexer&,consttextureRepeat_t ) | 0459.35 | 006349 | 01136 | 008313 | 02320min | 0549min | idMaterial.ParseStage(idLexer& ,consttextureRepeat_t) |
AddFrameCommand (constclassidDeclModelDef*,int,idLexer& ,constidDict*) | 0665.33 | 009320 | 04218 | 009302 | 01820min | 03312min | idAnim.AddFrameCommand (constclassidDeclModelDef*,int,idLexer& ,constidDict*) |
dradbg(int,int,int,int,float*,float* ,float*,float*,float*,float*) | 0980 | 013270 | 0970 | 010270 | 01920min | 00116min | __Globals.dradbg(int,int,int,int,float* ,float*,float*,float*,float*,float*) |
InverseSelf() | 0615.76 | 012278 | 05017 | 012261 | 02020min | 03811min | idMat6.InverseSelf() |
AddFrameCommand (constclassidDeclModelDef*,int,idLexer& ,constidDict*) | 0606.06 | 011279 | 04718 | 011261 | 00320min | 03911min | idAnim.AddFrameCommand (constclassidDeclModelDef*,int,idLexer& ,constidDict*) |
HandleMainMenuCommands(constchar*) | 03011.9 | 010296 | 00940 | 013256 | 00420min | 0697min | idSessionLocal.HandleMainMenuCommands (constchar*) |
dradfg(int,int,int,int,float*,float* ,float*,float*,float*,float*) | 0990 | 016248 | 0990 | 014248 | 00520min | 00216min | __Globals.dradfg(int,int,int,int,float* ,float*,float*,float*,float*,float*) |
HandleCommand(WPARAM,LPARAM) | 0793.88 | 017248 | 06510 | 015238 | 00020min | 02013min | rvGEApp.HandleCommand(WPARAM,LPARAM) |
HessenbergToRealSchur(idMatX&,idVecX& ,idVecX&) | 02612.16 | 015260 | 01036 | 016224 | 00120min | 0737min | idMatX.HessenbergToRealSchur(idMatX& ,idVecX&,idVecX&) |
Split(constidPlane&,constfloat ,idSurface**,idSurface**,int*,int*) | 03710.51 | 018247 | 01429 | 017218 | 00220min | 0628min | idSurface.Split(constidPlane&,constfloat ,idSurface**,idSurface**,int*,int*) |
lwGetSurface5(idFile*,int,lwObject*) | 0566.77 | 021234 | 05317 | 018217 | 00920min | 04311min | __Globals.lwGetSurface5(idFile*,int ,lwObject*) |
ParseScope(constchar*,bool,idParser& ,idClassTypeInfo*) | 0478.95 | 020234 | 03123 | 019211 | 01020min | 0529min | idTypeInfoGen.ParseScope(constchar*,bool ,idParser&,idClassTypeInfo*) |
Parse(idParser*,bool) | 00517.61 | 014262 | 00256 | 021206 | 01120min | 0943min 40s | idWindow.Parse(idParser*,bool) |
Restore(idRestoreGame*) | 0724.82 | 024217 | 06311 | 020206 | 00620min | 02712min | idPlayer.Restore(idRestoreGame*) |
CallFrameCommands(idEntity*,int,int) | 0902.35 | 027208 | 0945 | 023203 | 00720min | 00914min | idAnim.CallFrameCommands(idEntity*,int ,int) |
GetWeaponDef(constchar*,int) | 0409.88 | 022228 | 02025 | 022203 | 00820min | 0599min | idWeapon.GetWeaponDef(constchar*,int) |
DeriveTangents(idPlane*,idDrawVert* ,constint,constint*,constint) | 03411.02 | 023226 | 01528 | 024198 | 02419min | 0658min | idSIMD_SSE.DeriveTangents(idPlane* ,idDrawVert*,constint,constint*,constint ) |
ParseSingleFXAction(idLexer& ,idFXSingleAction&) | 0508 | 028207 | 04518 | 025189 | 02518min | 04910min | idDeclFX.ParseSingleFXAction(idLexer& ,idFXSingleAction&) |
CallFrameCommands(idEntity*,int,int) | 0882.53 | 032193 | 0935 | 026188 | 02618min | 01114min | idAnim.CallFrameCommands(idEntity*,int ,int) |
dprintf_formatf(void*,int(*)(int,FILE*) ,constchar*,va_list) | 00119.32 | 019238 | 00157 | 027181 | 02718min | 0982min 28s | __Globals.dprintf_formatf(void*,int(*) (int,FILE*),constchar*,va_list) |
OptimizeOpcode(constopcode_t*,idVarDef* ,idVarDef*) | 0823.68 | 038183 | 0817 | 029176 | 02917min | 01713min | idCompiler.OptimizeOpcode(constopcode_t* ,idVarDef*,idVarDef*) |
OptimizeOpcode(constopcode_t*,idVarDef* ,idVarDef*) | 0813.68 | 037183 | 0837 | 028176 | 02817min | 01813min | idCompiler.OptimizeOpcode(constopcode_t* ,idVarDef*,idVarDef*) |
Restore(idRestoreGame*) | 0655.61 | 036185 | 06211 | 030174 | 03017min | 03412min | idPlayer.Restore(idRestoreGame*) |
MatX_MultiplyMatX(idMatX&,constidMatX& ,constidMatX&) | 02212.93 | 030202 | 01230 | 031172 | 03117min | 0776min | idSIMD_Generic.MatX_MultiplyMatX(idMatX& ,constidMatX&,constidMatX&) |
inflate_blocks(inflate_blocks_statef* ,z_streamp,int) | 0439.57 | 035189 | 03920 | 033169 | 03316min | 0569min |