MroczekBall3D
MroczekBall3D
#programowanie #csharp #uwp #programista15k

tldr; #naukaprogramowania i proszę o sprawdzenie kodu, czy jest w miarę okej

Mirki, ostatnio zamieszczałem kod i prosiłem, byście zerknęli, czy czy w miarę jest okej, parę błędów wytknęliście, więc zabrałem się za inny mini projekcik, który jest prawie ukończony, jedynie można dodawać do niego różne bajery. Nie wykryłem żadnych błędów. (Mam nadzieję, że prawo murphiego nie działa ^^)

Czy ktoś miałby troszkę czasu i przejrzenie kodu pod kątem różnych rzeczy, które mogłyby zostać napisane lepiej?

Projekt to wrapper planu lekcji do szkoły, pisany w UWP w języku C#,
czyli pobieram źródło strony, formatuję, zapisuję do klasy, wyświetlam dane w programie. Postawiłem też na wersję offine, czyli zapis do XML (nie opłacało mi się bawić w sql)

Rzeczywisty plan: http://www.zs-1.pl/plany_nauczyciel
A jako obrazek daję zrzut z mojego programu :)

Link do GitHub: https://github.com/gtteamamxx/ZS1Plan/tree/master/ZS1Plan
  • Najlepsze
  • Wszystkie komentarze
k.....n
Nie powinny występować xD

@MroczekBall3D: xD
G.....p
G.....p
Nie powinny występować xD


@MroczekBall3D: Ta, to samo mówiła dziwczyna, która pisałą kalkulator wyborczy xD
Zablokuj aplikacji dostęp do neta to pewnie się wysypie.
Yahoo_
@MroczekBall3D:
1. Czemu nie korzystasz z konwencji nazewniczej stosowanej w c# (click)?
2. 1 klasa, 1 plik.
3. metoda HTMLServices::getData ma prawie 200 linii... Na pewno da się to jakoś ładniej zrobić.
4. // 2, because 0 is h'our number, 1 is a ring time (eg. 7:10 -> xxx ) <-- od tego są enumy.
5. if (item.InnerHtml == @" "). Magiczny string. Daj zmienną, która powie co to w
piachu
funkcje internalowe dobrze jest nazywać z przedrostkiem int_


@player11one: @MroczekBall3D: żadnych przedrostków! Visual Studio pokazuje takie rzeczy i dopisywać jakieś cudowne prefixy w nazwach zmiennych/funkcji to przeżytek
G.....p
G.....p
@MroczekBall3D: Nie ma obsługi błędów żadnej? :D
robroypl
robroypl
  • adult
2
Treść przeznaczona dla osób powyżej 18 roku życia...
player11one
player11one
@MroczekBall3D: na początek całkiem nieźle :)

popatrz na ciekawą zależność -> wszystkie twoje metody są publiczne (a na pewno wszystkie w Connections.cs). Zrobienie prywatnej metody często może sie opłacić, zwiększa to znacznie czytelnośc kodu -> dajesz opisowe nazwy i czytasz kod jak książke, a nie zastanawiasz się co ty sie dzieje. Ogólna zasada - krótkie funkcje, opisowe nazwy, mało (najlepiej brak) argumentów przyjmowanych przez funkcje!

zahardcodowana nazwa pliku z planem w xml
Yahoo_
1. Właśnie staram się powoli dostosowywać do tego, możesz zauważyć, że część jest okej, część nie


@MroczekBall3D: Zainstaluj sobie resharper ;). Tylko ostrzegam - uzależnia, potem nie chce się robić bez :D.

Ogólnie chodzi o to, że kolumna nr. 0 to numer 1,2,3 ... natomiast kolumna 1, to nazwa dzwonka, w sensie 7:10-8:55 itd a plan lekcji zaczyna się od kolumny 3,4 itd czyli > 2 . Nie widzę sensu użcia
MroczekBall3D
MroczekBall3D
MroczekBall3D Autor
0
@Golomp: Nie powinny występować xD
Jeszcze muszę zrobić użytek z HasInternetConnection, mysle, ze tylko to oraz dzialania na plikach mogą powodowac problemy
MroczekBall3D
MroczekBall3D
MroczekBall3D Autor
0
@Golomp: No i proszę, jednak Prawo murphiego.. podziałam z tym jutro, dzięki :)
insan3
MroczekBall3D
MroczekBall3D
MroczekBall3D Autor
0
@insan3: życie jest #thebest #okrutne
MroczekBall3D
MroczekBall3D
MroczekBall3D Autor
0
@MroczekBall3D: już nie jesteś zielonka mordko
@robroypl: Czyli anty-debilny kalkulator w Cpp.
@Szab @arhu @Mave @ZapomnialWieprzJakProsiakiemByl : Wołam was chłopaki, ostatnio pomogliście C:
player11one
player11one
@piachu na codzien programuje w C. Prosze mi wybaczyc ( ͡° ͜ʖ ͡°)
piachu
@player11one: ehhh to współczuje (╥﹏╥)
MroczekBall3D
MroczekBall3D
MroczekBall3D Autor
0
@Yahoo_: 1. Właśnie staram się powoli dostosowywać do tego, możesz zauważyć, że część jest okej, część nie
2. Wezmę pod uwagę ;)
3. Mam pomysł, jak to zrobić, dzięki :D
4. Nie rozumiem,
player11one
player11one
@MroczekBall3D: według mnie klamry przy ifach są po prostu spójne z resztą kodu. Bardzo łatwo pomylić się przy zmianach, gdy nie ma tych klamr.

Jeśli chodzi o hardcode nazwy plików - załóżmy, że chcesz miec dwa plany, albo historię planów i wczytywać ten, który aktualnie obowiązywał w jakimś czasie - ile zmian w kodzie musisz zrobić? Niby jedną, ale wiąże się to z przekompilowaniem projektu. Niezbyt skalowalne rozwiązanie ;)

Poza