52 lines
1.2 KiB
Plaintext
52 lines
1.2 KiB
Plaintext
== Why is this an issue?
|
|
|
|
A magic number is a number that comes out of nowhere, and is directly used in a statement. Magic numbers are often used, for instance to limit the number of iterations of a loops, to test the value of a property, etc.
|
|
|
|
|
|
Using magic numbers may seem obvious and straightforward when you're writing a piece of code, but they are much less obvious and straightforward at debugging time.
|
|
|
|
|
|
That is why magic numbers must be demystified by first being assigned to clearly named constants before being used.
|
|
|
|
|
|
-1, 0 and 1 are not considered magic numbers.
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,vb6]
|
|
----
|
|
Function blnCheckSize(dblParameter As Double) As Boolean
|
|
If dblParameter > 1024 Then
|
|
blnCheckSize = True
|
|
End If
|
|
End Function
|
|
----
|
|
|
|
=== Compliant solution
|
|
|
|
[source,vb6]
|
|
----
|
|
Function blnCheckSize(dblParameter As Double) As Boolean
|
|
Dim threshold As Integer = 1024
|
|
|
|
If dblParameter > threshold Then
|
|
blnCheckSize = True
|
|
End If
|
|
End Function
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::../message.adoc[]
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
endif::env-github,rspecator-view[]
|