SteamWar/BungeeCore
Archiviert
13
2

ModCommand #445

Zusammengeführt
Lixfel hat 21 Commits von ModCommand nach master 2023-02-14 09:13:46 +01:00 zusammengeführt
2 geänderte Dateien mit 7 neuen und 20 gelöschten Zeilen
Nur Änderungen aus Commit 58fb831950 werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -64,7 +64,7 @@ public class ModCommand extends SWCommand {
}
public void updateAndCloseGui(Mod.ModType modType,String modName,Mod.Platform modPlatform,SWInventory toClose,ProxiedPlayer p) {
Mod.setMod(modType, modName, modPlatform);
Mod.get(modName,modPlatform).setModType(modType,modName,modPlatform);
toClose.close();
openGui(p);
}
@ -123,7 +123,7 @@ public class ModCommand extends SWCommand {
return;
}
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Kann auch durch Mod klasse ersetzt werden

Kann auch durch Mod klasse ersetzt werden
Mod.setMod(newModType,modName,platform);
Mod.get(modName,platform).setModType(newModType,modName,platform);
Message.send("MOD_CHANGED_TYPE",p,modName,platform.name(),newModType.name());
}
@ -135,10 +135,9 @@ public class ModCommand extends SWCommand {
@Register(value = {"next"})
public void next(ProxiedPlayer p) {
Pair<String ,Integer> foundMod = Mod.findFirstMod();
Mod mod = Mod.get(foundMod.getKey(),foundMod.getValue());
Mod mod = Mod.findFirstMod();
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Wenn du das Mod-Object hast, weißt du schon, welcher Typ das ganze ist...

Wenn du das Mod-Object hast, weißt du schon, welcher Typ das ganze ist...
if(foundMod == null) {
if(mod == null) {
Message.send("MOD_NO_MORE_UNCLASSIFIED_MODS",p);
return;
}

Datei anzeigen

@ -70,25 +70,13 @@ public class Mod {
return get(modName,platform).modType;
}
public static void setMod(Mod.ModType newModType,String modName,Mod.Platform platform) {
public void setModType(Mod.ModType newModType,String modName,Mod.Platform platform) {
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Bitte umbenennen in setModType und in Member-Funktion umwandeln (wie getModType)!

Bitte umbenennen in setModType und in Member-Funktion umwandeln (wie getModType)!
Veraltet
Review

Bitte modName und platform aus den Argumenten entfernen und von dieser Mod-Instanz verwenden.

Bitte modName und platform aus den Argumenten entfernen und von dieser Mod-Instanz verwenden.
set.update(newModType.value ,modName,platform.value);
}
public static boolean doesModExist(String modName,Mod.Platform modPlatform) {
Lixfel markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Schöner wäre (weil ansonsten doppelter Datenbankzugriff) wenn du die derzeitige get()-Methode umbennenen würdest in z.B. getOrCreate() und den eigentlichen get() Anteil der Methode in eine neue get()-Methode auslagerst, welche einfach null zurückliefert, wenn der Mod nicht existiert. (Weniger Codeduplication, weniger DB-Calls)

Schöner wäre (weil ansonsten doppelter Datenbankzugriff) wenn du die derzeitige get()-Methode umbennenen würdest in z.B. getOrCreate() und den eigentlichen get() Anteil der Methode in eine neue get()-Methode auslagerst, welche einfach null zurückliefert, wenn der Mod nicht existiert. (Weniger Codeduplication, weniger DB-Calls)
return get.select(ResultSet::next,modName,modPlatform.value);
}
public static List<Mod> getAll(int page, int elementsPerPage) {
return Mod.getAll.select(rs -> {
List<Mod> f = new ArrayList<>();
while(rs.next()){
Mod entry = new Mod(rs.getString("ModName"), Mod.Platform.valueOf(rs.getInt("Platform")),Mod.ModType.valueOf(rs.getInt("ModType")));
f.add(entry);
}
return f;
},page * elementsPerPage, elementsPerPage);
}
public static List<Mod> getAllModsFiltered(int page,int elementsPerPage, Mod.ModType filter) {
return Mod.getAllFiltered.select(rs -> {
List<Mod> f = new ArrayList<>();
@ -100,11 +88,11 @@ public class Mod {
},filter.value, page * elementsPerPage, elementsPerPage);
}
public static Pair<String,Integer> findFirstMod() {
public static Mod findFirstMod() {
findFirst.select(rs -> {
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Statt filtered würde ich eher getAllModsOfType verwenden... (auch SQL-Statement so umbenennen)

Statt filtered würde ich eher getAllModsOfType verwenden... (auch SQL-Statement so umbenennen)
Veraltet
Review

damit würde ich aber permanent einen filter applien. wenn ich dies aber nicht möchte, brauch ich das statement ohne filter

damit würde ich aber permanent einen filter applien. wenn ich dies aber nicht möchte, brauch ich das statement ohne filter
Veraltet
Review

Was ja auch der Methodenname "ofType" impliziert. Damit ändert sich ja nichts am Methodeninhalt, nur statt filtered - ofType im Namen.

Was ja auch der Methodenname "ofType" impliziert. Damit ändert sich ja nichts am Methodeninhalt, nur statt filtered - ofType im Namen.
String name = rs.getString("ModName");
int platform = rs.getInt("Platform");
return new ImmutablePair<>(name,platform);
return get(name,Platform.valueOf(platform));
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Du hast hier doch bereits schon auch den ModType, warum erstellst du nicht direkt ein Mod-Objekt? So machst du stattdessen nochmal einen Datenbankaufruf!

Du hast hier doch bereits schon auch den ModType, warum erstellst du nicht direkt ein Mod-Objekt? So machst du stattdessen nochmal einen Datenbankaufruf!
});
return null;
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Wie wäre es, statt immer null zu returnen, dein Ergebnis von findFirst zu returnen?

Wie wäre es, statt immer null zu returnen, dein Ergebnis von findFirst zu returnen?
}