←back to thread

361 points mmphosis | 2 comments | | HN request time: 0.595s | source
Show context
leetrout ◴[] No.42165704[source]
> It's better to have some wonky parameterization than it is to have multiple implementations of nearly the same thing. Improving the parameters will be easier than to consolidate four different implementations if this situation comes up again.

Hard disagree. If you cant decompose to avoid "wonky parameters" then keep them separate. Big smell is boolean flags (avoid altogether when you can) and more than one enum parameter.

IME "heavy" function signatures are always making things harder to maintain.

replies(17): >>42165868 #>>42165902 #>>42166004 #>>42166217 #>>42166363 #>>42166370 #>>42166579 #>>42166774 #>>42167282 #>>42167534 #>>42167823 #>>42168263 #>>42168489 #>>42168888 #>>42169453 #>>42169755 #>>42171152 #
1. Aeolun ◴[] No.42168489[source]
Having it all in one tested function means it’s much easier to keep in line. Woe be the one that decides to change a common section in something coopied all over the codebase.

Modifying those boolean flags within the context of your tests is practically free. Trying to merge 4 files into one is… not.

replies(1): >>42168515 #
2. tasuki ◴[] No.42168515[source]
Have four public api functions, which call a private function underneath to avoid the duplication. Everyone is happy.