53 lines
1.2 KiB
Plaintext
53 lines
1.2 KiB
Plaintext
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.
|
|
|
|
== Noncompliant Code Example
|
|
|
|
[source,vbnet]
|
|
----
|
|
Class Foo
|
|
Sub DoSomething(Param As Integer)
|
|
If Param > 100 Then ' Magic Number
|
|
' Do something
|
|
End If
|
|
End Sub
|
|
End Class
|
|
----
|
|
|
|
== Compliant Solution
|
|
|
|
[source,vbnet]
|
|
----
|
|
Class Foo
|
|
Private Const MaxOfSomething As Integer = 100
|
|
|
|
Sub DoSomething(Param As Integer)
|
|
If Param > MaxOfSomething Then
|
|
' Do something
|
|
End If
|
|
End Sub
|
|
End Class
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::../message.adoc[]
|
|
|
|
include::parameters.adoc[]
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
endif::env-github,rspecator-view[]
|