Ik ben voor een school project bezig met het coden van een website in java Servlets en JSP's. Alles gaat goed en aardig, maar ik heb een stuk redundante code waarmee ik niet weet wat ik er nou mee moet.
Het gaat om dit stuk code:
De methode authenticateUser vraagt aan het database object hoeveel users er zijn met de username+password combinatie die in het User object wordt meegegeven. Als dit groter dan 0 is, dan bestaat zo'n combinatie en heeft de user (in mijn ogen) bewezen te bestaan in het systeem. De methode userExists gebruikt dezelfde code maar heeft als doel het checken of een user niet al toevallig bestaat in de database.
Beide methoden gebruiken dezelfde code met een ander doel. Is het nou verstandig om van die code een methode te extracten of is het slimmer om het zo te laten staan, met het oog op eventuele toekomstige uitbreidingen.
Dit staat trouwens los van dat ik de code eventueel nog moet veranderen om meer feedback te kunnen geven (in dit geval kan je alleen true of false terug geven. Het is lastig/onmogelijk om onderscheid te maken tussen 'false' van dat een user niet bestaat en 'false' mocht de database server plat liggen.).
Het gaat om dit stuk code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| public boolean authenticateUser( User user ) {
int userCount = database.getUserCount( user );
if ( userCount>0 )
return true;
else
return false;
}
public boolean userExists( User user ) {
int userCount = database.getUserCount( user );
if ( userCount>0 )
return true;
else
return false;
} |
De methode authenticateUser vraagt aan het database object hoeveel users er zijn met de username+password combinatie die in het User object wordt meegegeven. Als dit groter dan 0 is, dan bestaat zo'n combinatie en heeft de user (in mijn ogen) bewezen te bestaan in het systeem. De methode userExists gebruikt dezelfde code maar heeft als doel het checken of een user niet al toevallig bestaat in de database.
Beide methoden gebruiken dezelfde code met een ander doel. Is het nou verstandig om van die code een methode te extracten of is het slimmer om het zo te laten staan, met het oog op eventuele toekomstige uitbreidingen.
Dit staat trouwens los van dat ik de code eventueel nog moet veranderen om meer feedback te kunnen geven (in dit geval kan je alleen true of false terug geven. Het is lastig/onmogelijk om onderscheid te maken tussen 'false' van dat een user niet bestaat en 'false' mocht de database server plat liggen.).
edit:
commentaar moet er trouwens ook nog bij
commentaar moet er trouwens ook nog bij
[ Voor 4% gewijzigd door |orion op 25-09-2004 12:58 ]