Bug fixes and some new refactorings
New Refactorings
Replace dict.get(x, None)
with dict.get(x)
Before:
hats = {"bowler": Bowler(), "sombrero": Sombrero()}
fedora = hats.get("fedora", None)
After:
hats = {"bowler": Bowler(), "sombrero": Sombrero()}
fedora = hats.get("fedora")
Explanation:
When using a dictionary’s get
method you can specify a default to return if
the key is not found. This defaults to None
, so it is unnecessary to specify
None
if this is the required behaviour. Removing the unnecessary argument
makes the code slightly shorter and clearer.
Remove unit step from range
Sourcery refactoring id: remove-unit-step-from-range
Description:
Replace range(x, y, 1)
with range(x, y)
Before:
for i in range(y, len(x), 1):
do_t()
After:
for i in range(y, len(x)):
do_t()
Explanation:
The default step
value for a call to range()
is 1
, so it is unnecessary to
explicitly define it. This refactoring removes this argument, slightly
shortening the code.
Small fixes and enhancements
- Enhance removal of redundant exception handlers to support tuples
- Improved installation instructions for VS Code
- Fix for issue where conditionals could be removed incorrectly
- Fix issues with internal tracking metrics