What are your programming hot takes?

257m@lemmy.ml to Programming@programming.dev – 333 points –
876

You are viewing a single comment

I don't have issue with methods being 200 lines, as long as they have a singel concept and is easy to follow.

If the method does a long thing, the keep it long. I do a lot of data analysis and simulation, and so often people who came before had this urge to shorten methods, so we get:

def do_calculation(N, X, y, z, a, b, c):
    # Setup stuff
    for i in range(N):
        calclation(X[i], y, z, a, b, c)`

Sometimes there's a place for that, like if calculation could be swapped for a different function, or if calculation is used all over the program. It's a pretty good clue that something is up though when the signatures are almost identical. Of course, that has just led to people writing:

def do_calculation(big_struct):
    read_data(big_struct)
    calculate(big_struct)
    write_data(big_struct)

There are various exceptions where up to 200 lines is still okay, yes. The 50 lines rule is more a good rule of thumb.