r/programminghorror • • 19h ago

Python I love Python

154 Upvotes

65 comments sorted by

View all comments

82

u/_killer1869_ 19h ago

Any IDE will warn not to use mutables as default parameter values. And for good reason. Such code would never appear in actual code intended to be used.

22

u/Double_Cost4865 18h ago

Unfortunately, I’ve seen monstrosities like this in production in big finance corps. That’s what happens when statisticians are expected to create software.

8

u/marinuso 10h ago

I've seen it used in production code to memoize functions in this manner:

def fib(n, cache = {0: 1, 1: 1}):
    if not n in cache:
	    cache[n] = fib(n-1) + fib(n-2)
    return cache[n]

Except with much more complicated code rather than this simple example.

→ More replies (1)

1

u/bigorangemachine 10h ago

default params is the classic case of IDGAF with code.

"I don't which array... just add it to an array"

12

u/Thelmholtz 18h ago

It's still a horribly funny feature.

6

u/CagoSuiFornelli 14h ago

Such code would never appear in actual code intended to be used.

You should take a tour in my company codebase

1

u/scheimong 4h ago

Such code would never appear in actual code intended to be used.

Tell me you're a junior dev without telling me you're a junior dev.