Prośba o ocenę kodu aplikacji

0

Witam. Co prawda jakiś czas temu prosiłem tutaj o ocenę tego samego programu, jednak było to bardzo dawno i napisałem go właściwie całkowicie od nowa. Trochę się od tamtej pory nauczyłem, więc wydaje mi się, że kod nie jest już tak tragiczny jak wtedy. Niemniej jednak na pewno nie jest idealny, dlatego proszę osoby bardziej doświadczone ode mnie o jego ocenę ;)
Jako, że prowadzę bloga i opisywałem na nim już ten projekt, żeby się nie powtarzać zostawię tylko linka: http://csharp-dev.pl/2016/11/18/cleaner-net-krotka-prezentacja/

GitHub: https://github.com/lukaszpl/Cleaner.NET

Pozdrawiam!

2

Unikaj takich długich metod jak SettingsLoader.SaveSettings().

Mam na myśli to że powinieneś ją skrócić.

0

Dzięki za odpowiedź ;)

Fakt, można skrócić metody w tej klasie. Poprawię to.
Co do reszty, obyło się bez jakiś większych błędów?

2

Te nazwy nie są za długie. Zauważ tylko, że w SettingsLoader.SaveSettings() dwa razy pojawia się słowo Settings. Poza tym w Loader masz Save co do siebie średnio pasuje. Moim zdaniem mógłbyś klasę nazwać po prostu Settings i nazwać metody Load i Save

3

Ten kod się powtarza. Nie dość że w if oraz else jest to samo, to jeszcze w trzech miejscach:

if (DoClean)
                return Languages.Lang.Recentdoc_CheckBox + ": " + Size + " MB" + "\n\n";
            else
                return Languages.Lang.Recentdoc_CheckBox + ": " + Size + " MB" + "\n\n";

Jak masz taki sam kod to nie kopiuj-wklej go w dwóch miejscach tylko wydziel do metody, i ją wywołaj.

Poza tym to:

if (a) {
    return b;
} else {
    return c;
}

zawsze piszę tak

if (a) {
    return b;
}
return c;
1

Linijka 44 w klasie XmlReader.cs.

XmlNodeList Shops = XmlDoc.SelectNodes("//userSettings//Cleaner.NET.Properties.AppSettings//setting[@name = '" + Name + "']//value");

To jakby "dwie rzeczy". Dwie odpowiedzialności, powinieneś z tego zrobić coś takiego:

XmlNodeList Shops = XmlDoc.SelectNodes(GetSettingsFilename(Name));

Tzn zrobić funkcję GetSettingsFilename() żeby ona zwracała ten string.

0

To co jeszcze to CleanClass.cs linijki 32-40, to co jest w środku ifa, całe, powinno być wydzielone do innej funkcji. Linijka 43, to co jest w returnie też do innej funkcji.

Te dziwne komentarze chrome/firefox/opera w klasie CleanClass wyglądają jakby jakby można z nich było zrobić interfejs i 3 klasy polimorficzne (ale może to zrób na końcu). Na razie możesz po prostu z nich zrobić 3 klasy CleanChrome, CleanOpera i CleanFirefox i tyle.

1 użytkowników online, w tym zalogowanych: 0, gości: 1