Ik zou graag wat meningen willen horen van andere mensen. Stel je voor je hebt een aantal functies. Van iedere functie zijn vaste mogelijke varianten alleen verschilt het welke ondersteund worden. Maak je hiervoor meerdere functies aan (Oplossing 1) of geef je een parameter mee (Oplossing 2) waarin je het afwijkende gedrag van de functie aangeeft.
Oplossing 1:
Oplossing 2:
Het nadeel van oplossing 1 is dat het mogelijk code duplicatie in die hand werkt en een hoop overhead kan veroorzaken in de documentatie.
Het nadeel van oplossing 2 vind ik dat je als gebruiker van de code niet meteen kan zien welke variaties er ondersteund worden en je dat dus eerst zal moeten opzoeken in de code. Een ander nadeel is dat de code in je functie iets minder duidelijk wordt door het opnemen van de variaties.
Oplossing 1:
code:
1
2
3
4
5
6
| FunctionA_var1(); FunctionA_var2(); FunctionA_var3(); FunctionB_var1(); FunctionB_var3(); |
Oplossing 2:
code:
1
2
| FunctionA(Var functionVar); // Ondersteund variatie 1, 2 & 3 FunctionB(Var functionVar); // Ondersteund variatie 1 & 3 |
Het nadeel van oplossing 1 is dat het mogelijk code duplicatie in die hand werkt en een hoop overhead kan veroorzaken in de documentatie.
Het nadeel van oplossing 2 vind ik dat je als gebruiker van de code niet meteen kan zien welke variaties er ondersteund worden en je dat dus eerst zal moeten opzoeken in de code. Een ander nadeel is dat de code in je functie iets minder duidelijk wordt door het opnemen van de variaties.
[ Voor 3% gewijzigd door cyspoz op 20-04-2007 14:21 ]