connascence

what does this mean?:

Connascence between two software components A and B means either 1) that you can postulate some change to A that would require B to be changed (or at least carefully checked) in order to preserve overall correctness, or 2) that you can postulate some change that would require both A and B to be changed together in order to preserve overall correctness.

When one Ruby method has to know the correct order of another method’s positional arguments, we end up with connascence of position.

references

elm backlog elm II