<div dir="ltr">Sorry, but for me this example is not convincing.<div><br><div>If you want to catch this kind of programming errors as early as possible, you should</div><div>not allow any gaps at all but flag this as a compile time error.</div><div>Unfortunately, this may turn out to be inconvenient in other examples.</div><div>In addition, what if the programmer forgets to include the minimum or maximum label?</div><div>It is not possible to catch all kinds of programming errors at compile time.</div><div><br></div><div>If you leave it to run-time checks, there is not much difference between the versions.</div><div>SoundEx is typically used for a fuzzy search, i.e. searching for something 'similar'.</div><div>On an embedded target it may actually be better to have a poorly working SoundEx function</div><div>than a trap. But this is of course SoundEx specific and debatable.</div><div><br></div><div>To summarize, I would not draw any general conclusions from this single constructed example.</div><div><br></div><div>- Josef</div></div><div><br></div></div>