public Nicknames(Collection<String> nicknames) {
this.nicknames = nicknames;
}
public Collection<String> getNicknames() {
return this.nicknames;
}
Fra wikipedia:
"Smells are certain structures in the code that indicate violation of fundamental design principles and negatively impact design quality"
suspekt kode
virker nå, men kanskje ikke på sikt
vanskelig å jobbe med
bryter med god skikk og designprinsipper
innkapsling og tilstand (8)
bruk av typer og collection-rammeverket (12)
testing (8)
avhengigheter og fordeling av klasser/logikk (3)
app (5)
IO (4)
bruk av public
, ikke bruk av final
manglende validering
direkte bruk eller returnering av samlinger
uheldig bruk av equals
public Nicknames(Collection<String> nicknames) {
this.nicknames = nicknames;
}
public Collection<String> getNicknames() {
return this.nicknames;
}
feil typer for representasjon av tilstand
String, java.util.Date, wrapper-klasser
kunne brukt enum- og record-typer
manglende typeargumenter (såkalt "rå" typer)
implementasjon i stedet for (riktig) grensesnitt
implisitt bruk av feil listetyper
bruk av uhensiktsmessige metoder på samlinger
testing av uviktige eller trivielle metoder
poengløs og feil testing av unntak
lite informative feilmeldinger
test av overflatedetaljer i GUI
rydder ikke opp etter filbehandling
IO-kode blandet med domenelogikk
avhengigheter på feil sted
til JavaFX-klasser i ikke-UI-moduler
til REST-tjeneste-klasser
statisk variabler for app-global tilstand
manglende oppdeling av kontroller-klasser
uhensiktsmessig håndtering av unntak
feil implisitt bruk av toString() i GUI
for mye bruk av File/Path i metodesignaturer
"try-with-resources" brukes for lite
bruk av File/Path for ressurs-filer
bruk av ikke-flyttbare absolutt stier ved fillagring