commit 9183683a7c546eba3f028e069c63e5fb193e0056 from: Sergey Bronnikov date: Wed Aug 07 10:47:51 2024 UTC rules/python: fix magic_number rule commit - 49c000a0f5630c20b478afc551555d5811be86cb commit + 9183683a7c546eba3f028e069c63e5fb193e0056 blob - 90f49ddaba9c3c9837bfcf4bc8c14a9424ca6dc7 blob + 7a014f40a79c46e1ec381332db1749268b481d55 --- rules/python/magic_number.py +++ rules/python/magic_number.py @@ -1,17 +1,19 @@ +import math + i = 2 -f = 0.2 -s = "hello" # ruleid: magic_number assert(4 == i) # ruleid: magic_number -assert(4 == f) +assert(4 >= i) # ruleid: magic_number -assert(4 == s) - +assert(4 <= i) # ruleid: magic_number assert(i == 4) # ruleid: magic_number -assert(f == 4) +assert(i != 4) # ruleid: magic_number -assert(s == 4) +assert(i == 4) + +# ruleid: magic_number +math.sin(4) blob - be79ff08e62f20b803efb3ff192e34f821e64e5f blob + 44c9be0a722063024ceabead7f6a5ae0306cacf7 --- rules/python/magic_number.yaml +++ rules/python/magic_number.yaml @@ -1,10 +1,18 @@ rules: -- id: magic_number - patterns: - - pattern: assert $X == $Y - message: Don't use magic numbers. - languages: [python] - metadata: - references: - - https://twitter.com/sqaunderhood/status/766911352958963712 - severity: WARNING + - id: magic_number + patterns: + - pattern-either: + - pattern: ... < ... + - pattern: ... > ... + - pattern: ... == ... + - pattern: ... != ... + - pattern: ... <= ... + - pattern: ... >= ... + - pattern: $FN(..., ..., ...) + - pattern-regex: \d + message: Don't use magic numbers. + languages: [python] + metadata: + references: + - https://twitter.com/sqaunderhood/status/766911352958963712 + severity: WARNING