Wpis z mikrobloga

#programowanie #csharp
Cześć, zrobiłem sobie aplikację pod UWP(dla niekumatych, universal windows platform), mianowicie rozklad jazdy, ktory parsuje strone, zapis do sqlite;
Ogolem coś 2-3k linijek

jeśli znalazłaby się choć jedna dusza, która ma troszkę doświadczenia i chciałaby mi udzielić jakiś rad, prosiłbym o kontakt.

PS. nie mam githuba, nie potrafię z tego korzystać ;p
  • 20
@ogrod87 : ogarnalem githuba w teamexploerze w vs i jakos niby dziala..
@Pablo_Dlugosz-00: https://github.com/gtteamamxx/RozkladJazdyy/tree/master/RozkladJazdy
@Mave
@arhu

Jak wiadomo, czkeam na hejty, ale też miejcie wyrozumiałość xd
Ogólnie porównałbym ten projekt do czegoś na miarę mobilempk; ale co tam xd

ponizej, jak teoretycznie wyglada aplikacja ( zdjęcie troszke nieaktualne, pozmienialem pare rzeczy)
Pobierz MroczekBall3D - @ogrod87 : ogarnalem githuba w teamexploerze w vs i jakos niby dziala...
źródło: comment_z2QS2RFb6RNLPu98ukt4z2cycIt3bP4j.jpg
@MroczekBall3D:
Z góry zastrzegam, ze nie znam się zbytnio.
Bardzo pobieżnie obejrzałem i naprawdę jestem ciekawy co ci fachowcy podpowiedzą( ͡° ͜ʖ ͡°)
Pewnie na start zjadą cię za polskie nazwy. Tyle, że w ogóle te twoje nazwy są do niczego. Nic nie mówią. Czasami wygląda jakbyś asynchronicznie odpalał metody synchroniczne bo nie trzymasz się konwencji(await getRSS()??? wtf).
Co to za klasy ListaPrzytsanków1,2,3,4 ? Godziny? jakieś mnożenie
@ZapomnialWieprzJakProsiakiemByl: Z nazwami się z godzę, gdzieś widziałem jakis "poradnik" (jak mozna to nazwac) jak nazywać metody/funkcje/zmienne, muszę się do tego zabrać
Tak, czasem potrzebowałem odpalać asynchroniczną funkcję synchronicznie w BackgroundWorker; ponieważ zauważyłem dziwną przypadłość przy await *cos* od razu leciało mi z dalszym kodem, zamiast poczekać przy tym await; tak jakby await zaczął się wykonywać w innym tasku (tak jest) i nie czekał na wynik, tylko od razu ciągnął kod..
Bierz poprawkę na to co piszę bo nie znam się zbytnio( ͡° ͜ʖ ͡°)

Tak, czasem potrzebowałem odpalać asynchroniczną funkcję synchronicznie w BackgroundWorker; ponieważ zauważyłem dziwną przypadłość przy await cos od razu leciało mi z dalszym kodem, zamiast poczekać przy tym await; tak jakby await zaczął się wykonywać w innym tasku


@MroczekBall3D: Co??????
Po pierwsze nie wywołuje się metod asynchronicznych synchronicznie wyjątkiem jest metoda Main w aplikacjach
@Pablo_Dlugosz-00 @arhu @Mave @ogrod87 @ZapomnialWieprzJakProsiakiemByl:
Więc tak; pierwsze co, to przerobiłem od rana, cały kod na w miarę lepszy angielski.(nazwy zmiennych itd) jedynie pozostały klasy;

Może z tym await tak lepiej zrozumiesz:

var a = await coś(); // i tutaj powinno czkekać aż się wykona, nie blokując wątku UI i zwrócić wynik do zmiennej a;
if(a) return; // i to się ma wykonać dopiero, gdy await coś() zwróci wynik

Natomiast, jak
@MroczekBall3D:
Z tym await musiałeś "coś()" spieprzyć( ͡° ͜ʖ ͡°) i wybrałeś błędną drogę aby uporać się z problemem. Bez dokładnego kodu trudno zgadnąć co. Tak czy siak jak masz asynchroniczną metodę dodawaj do "Async" do nazwy.
---------------------------

13.Where(p => p.GetAttribute("class") == "trkierunek").First().FirstElement...

jeszcze inaczej 13.First(p => p.GetAttribute("class") == "trkierunek").FirstElement...

Natomiast, co mógłbyś powiedzieć nt. tego co napisałem? Jest źle, czy jakieś zadataki mam na #
@ZapomnialWieprzJakProsiakiemByl:
Z tym Async to wiadomka ze przed nazwą, tak samo jak mam anonimową funkcję to mogę += async (bla, bla) => Tyle wiem:

O proszę, tego 3.First(p => p.GetAttribute("class") == "tr_kierunek").FirstElement To nie wiedziałem, dzieki, o takie coś mi chodziło, o takie rady praktyczne :) Gratki dla Ciebie

Czy długo? Zależy czy C# czy ogolnie; C# to od wakacji, ale szybko się uczę i takie oto projekty sobie robię. Ogólnie
@MroczekBall3D: czytam pobieżnie Twój kod i jest kompletnie niezrozumiały na pierwszy rzut oka, musisz popracować nad nazewnictwem i standardami :) jak będę miał chwilę to napiszę więcej. Tak czy siak brawo za chęci, tak trzymaj.
@Szab: Dlaczego mówisz, że lepiej stworzyć jedną klase, która ma za zadanie zrobić jedną rzecz, poprzez mnóstwo metod w niej, zamiast w jednej funkcji? Zawsze to mnie ciekawiło, po co rozbijać na mniejsze części coś, co ma tylko jedno zadanie, zamiast właśnie w jednej funkcji ( ͡° ͜ʖ ͡°)

@Mave: Strzelałbym, że jeśli przesiadamy się z jednego projektu na nowy, to równiez jest rozkminianie, co do
@MroczekBall3D: Wszystko sprowadza się do czytelności kodu i możliwości jego utrzymywania i rozwoju. Im bardziej metoda/klasa jest zbita i im więcej czynności wykonuje, tym ciężej ją utrzymać i modyfikować. Modyfikacja w jednej części kodu metody będzie wymagała modyfikacji w innej itd. itd. Poza tym, metody takie bardzo często stają się dedykowane jednemu konkretnemu przypadkowi i nie da się ich użyć w innych miejscach.

Docelowo, jako programista, powinieneś pisać swój kod tak,