Five ways your code is coupled, for better or worse
Briefly

There are five types of static connascence that can deepen understanding of code functionality. Connascence of name requires agreement on naming, representing the weakest type of coupling. Changing a name necessitates changes in all references. Connascence of type necessitates agreement on data types, particularly in function parameters, making it essential for function execution. While connascence of name is the least burdensome form of coupling, connascence of type is also manageable and critical for proper method operation.
Connascence of name occurs when two things have to agree about the name of something. This is the weakest form of connascence, or the loosest form of coupling, and the one that we should aspire to limit ourselves to. If you declare a procedure such as function DoSomething(): void, then you have to call it using its name. Once you choose the name, you are stuck with it. Changing the name of something requires changes elsewhere.
Connascence of type occurs when two entities have to agree on the type of something. The most obvious example is the parameters of a method. If you declare a function as follows: class SomeClass { processWidget(aWidget: Widget, aAction: WidgetActionType): boolean { ... } } then any calling code must pass a Widget and a WidgetActionType as parameters of the processWidget function.
Read at InfoWorld
[
|
]