lib/wim_parser.rb
Method xml_data
has 29 lines of code (exceeds 25 allowed). Consider refactoring. Open
Open
def xml_data
header_data = header
xml = File.open(filename, "rb") do |f|
f.seek(header_data["xml_data_offset"])
Wrap expressions with varying precedence with parentheses to avoid ambiguity. Open
Open
nt_time = nt_time / 10_000_000 - 11_644_495_200
- Read upRead up
- Exclude checks
Looks for expressions containing multiple binary operators
where precedence is ambiguous due to lack of parentheses. For example,
in 1 + 2 * 3
, the multiplication will happen before the addition, but
lexically it appears that the addition will happen first.
The cop does not consider unary operators (ie. !a
or -b
) or comparison
operators (ie. a =~ b
) because those are not ambiguous.
NOTE: Ranges are handled by Lint/AmbiguousRange
.
Example:
# bad
a + b * c
a || b && c
a ** b + c
# good (different precedence)
a + (b * c)
a || (b && c)
(a ** b) + c
# good (same precedence)
a + b + c
a * b / c % d