DRY & Coupling:
If one rule is expressed in two places in your code (violating DRY), and you want to change the rule, you must edit both places. This is coupling.byte[] OpenFile(string fileName) { // Is it our file type? if (fileName.Extension == ".foo") ... void AutoSaveFile(byte[] contents) { path = Path.Combine(directory, DateTime.Now.ToString("dd_MM_yyyy") + ".foo");
If we decide to change our file extension to the much more reasonable ".bar", then we must edit both.
*possibly equivalent to