[DK]Easy Refactorings to Improve the Readability of Your Code

I dette blog indlæg lægges op til løsning på nogle dagligdagsproblemer:

Easy Refactorings to Improve the Readability of Your Code

Problemet som behandles i inidlægget går på readability, og handler om følgende kode:
adapter.OpenConnection(@"C:\data\records.mdb", true, false);

Det som forfatteren har imod koden er at det kan være svært at huske hvad parametrene betyder, når der kun kaldes med true og false.
Så løsningen der bliver fremsat i indlægget er som følger:

bool useIntegratedSecurity = true;
bool useConnectionPool = false;

adapter.OpenConnection(@"C:\data\records.mdb", useIntegratedSecurity, useConnectionPool);

Det ses at koden nu er mere læsbar, fordi man ikke længere sender true og false med men boolske variabler med sigende navne.

Så nu skulle man jo tro at alle er tilfredse.

Men jeg er ikke, for den næste gang metoden bruges er der en eller anden som hurtigt lige skriver true og false med som parametre, og så er vi ligesom ikke nået så meget længere.

Derfor foreslår jeg at man bruger enums til dette og ændrer metode signaturen til at tage enums i stedet for bool:

enum IntegratedSecurityEnum {Use, DoNotUse};
enum ConnectionPoolEnum {Use, DoNotUse};

Bruges sådanne enums som parametre, tvinges brugeren af koden til at lave læsbar kode.

Jeg har lavet en webcast om dette Webcast