Ocena moich projektów - i czy nadaje się na programistę ? Znajdę pracę ?

0

Programowanie traktowałem hobbystycznie, mam rangę developera na jednym forum (chociaż nie jest to sukces, bo to jednak "jakaś" strona a nie poważna, ale dostaje od ponad roku 1600+ zł teraz mniej dlatego trzeba coś szukać.
Tutaj są przykładowe programy https://github.com/codingisfun241
Udało mi się np. zamienić kod virtual machine na source w lua -> https://github.com/codingisfun241/Reversing
Bez studiów, 26 lat.

2
        public List<Response> Percent1 = new List<Response>();
        public List<Response> Percent2 = new List<Response>();
        public List<Response> Percent3 = new List<Response>();
        public List<Response> Percent4 = new List<Response>();
        public List<Response> Percent5 = new List<Response>();
        public List<Response> Percent6 = new List<Response>();
        public List<Response> Percent7 = new List<Response>();
        public List<Response> Percent8 = new List<Response>();
        public List<Response> Percent9 = new List<Response>();
        public List<Response> Percent10 = new List<Response>();
        public List<Response> Percent11 = new List<Response>();
            output.Percent1 = output.Percent1.OrderByDescending(o => o.ViewCount).ToList();
            output.Percent2 = output.Percent2.OrderByDescending(o => o.ViewCount).ToList();
            output.Percent3 = output.Percent3.OrderByDescending(o => o.ViewCount).ToList();
            output.Percent4 = output.Percent4.OrderByDescending(o => o.ViewCount).ToList();
            output.Percent5 = output.Percent5.OrderByDescending(o => o.ViewCount).ToList();
            output.Percent6 = output.Percent6.OrderByDescending(o => o.ViewCount).ToList();
            output.Percent7 = output.Percent7.OrderByDescending(o => o.ViewCount).ToList();
            output.Percent8 = output.Percent8.OrderByDescending(o => o.ViewCount).ToList();
            output.Percent9 = output.Percent9.OrderByDescending(o => o.ViewCount).ToList();
            output.Percent10 = output.Percent10.OrderByDescending(o => o.ViewCount).ToList();
            output.Percent11 = output.Percent11.OrderByDescending(o => o.ViewCount).ToList();
            foreach (var res in output.NoDislike) File.AppendAllText(path + "_0Percent.txt", res.ToString());
            foreach (var res in output.NoLikeNoDislike) File.AppendAllText(path + "_NoLikeNoDislike.txt", res.ToString());
            foreach (var res in output.Percent1) File.AppendAllText(path + "_1Percent.txt", res.ToString());
            foreach (var res in output.Percent2) File.AppendAllText(path + "_2Percent.txt", res.ToString());
            foreach (var res in output.Percent3) File.AppendAllText(path + "_3Percent.txt", res.ToString());
            foreach (var res in output.Percent4) File.AppendAllText(path + "_4Percent.txt", res.ToString());
            foreach (var res in output.Percent5) File.AppendAllText(path + "_5Percent.txt", res.ToString());
            foreach (var res in output.Percent6) File.AppendAllText(path + "_6Percent.txt", res.ToString());
            foreach (var res in output.Percent7) File.AppendAllText(path + "_7Percent.txt", res.ToString());
            foreach (var res in output.Percent8) File.AppendAllText(path + "_8Percent.txt", res.ToString());
            foreach (var res in output.Percent9) File.AppendAllText(path + "_9Percent.txt", res.ToString());
            foreach (var res in output.Percent10) File.AppendAllText(path + "_10Percent.txt", res.ToString());
            foreach (var res in output.Percent11) File.AppendAllText(path + "_11Percent.txt", res.ToString());
                        if (percent <= 1)
                        {
                            output.Percent1.Add(v);
                        }
                        else if (percent <= 2)
                        {
                            output.Percent2.Add(v);
                        }
                        else if (percent <= 3)
                        {
                            output.Percent3.Add(v);
                        }
                        else if (percent <= 4)
                        {
                            output.Percent4.Add(v);
                        }
                        else if (percent <= 5)
                        {
                            output.Percent5.Add(v);
                        }
                        else if (percent <= 6)
                        {
                            output.Percent6.Add(v);
                        }
                        else if (percent <= 7)
                        {
                            output.Percent7.Add(v);
                        }
                        else if (percent <= 8)
                        {
                            output.Percent8.Add(v);
                        }
                        else if (percent <= 9)
                        {
                            output.Percent9.Add(v);
                        }
                        else if (percent <= 10)
                        {
                            output.Percent10.Add(v);
                        }
                        else if (percent <= 11)
                        {
                            output.Percent11.Add(v);
                        }

Nie wiem, czy jest sens czytać dalej.

0
sugar_hiccup napisał(a):

....
Nie wiem, czy jest sens czytać dalej.

To akurat ostatni projekcik zrobiony na szybko, oczywiście że wypada tutaj użyć pętli by nie powielać tego samego kodu. To są akurat projekty na własny użytek, nie wymieniłem tu projektów za które dostaje co msc $.

2
  1. https://github.com/codingisfun241/PerfuForum/blob/master/Program.cs
    to nie ma zadnej struktury. Wszystko walniete razem. Podziel to na klasy. Na osobne pliki. Pozmieniaj nazwy zmiennych tak by cos oddawaly to co reprezentuja. Pamietaj, kod czytaja ludzie i to przewaznie tacy ktorzy nie maja pojecia o tym co robisz (powiedzmy)

  2. https://github.com/codingisfun241/Riot/blob/master/championFull.cs
    to samo co wyzej. + dodatkowo zamiast parsowac recznie jsona, Stworz klase i zdesrerazliuj pod ta klase. Duzo wygodniejsze i duzo czytelniejsze

dalej nie sprawdzam

To nie sa jakies projekty, to sa bardziej uzyteczne skrypty. Ktore moga byc bardzo fajne, ale w przedstawiony sposob to tylko na uzytek wlasny (w sensie Twoj). Jezeli chcesz je publikowac, to popracuj nad nimi

i we wszystkim

BRAKUJE TESTOW

0
fasadin napisał(a):
  1. https://github.com/codingisfun241/PerfuForum/blob/master/Program.cs
    to nie ma zadnej struktury. Wszystko walniete razem. Podziel to na klasy. Na osobne pliki. Pozmieniaj nazwy zmiennych tak by cos oddawaly to co reprezentuja. Pamietaj, kod czytaja ludzie i to przewaznie tacy ktorzy nie maja pojecia o tym co robisz (powiedzmy)

  2. https://github.com/codingisfun241/Riot/blob/master/championFull.cs
    to samo co wyzej. + dodatkowo zamiast parsowac recznie jsona, Stworz klase i zdesrerazliuj pod ta klase. Duzo wygodniejsze i duzo czytelniejsze

dalej nie sprawdzam

To nie sa jakies projekty, to sa bardziej uzyteczne skrypty. Ktore moga byc bardzo fajne, ale w przedstawiony sposob to tylko na uzytek wlasny (w sensie Twoj). Jezeli chcesz je publikowac, to popracuj nad nimi

i we wszystkim

BRAKUJE TESTOW

W sumie racja trochę się wygłupiłem, to są fajne użyteczne skrypty ułatwiające wyszukiwanie na stronach ceneo, youtube i.in. - na użytek własny.

Chciałem by to była taka ocena "na oko", ale widzę że praca w firmie to coś więcej niż fajne, użyteczne bo tam liczy się współpraca, testy, wygląd kodu dla innych. Cóż jest to najtrudniejsze, i mam z tym duży problem niestety. Zawsze mogę rozkręcić własny biznes internetowy, własna apka płatność co msc.

Miałem kontakt z osobami z zagranicy, i nawet gdy jeszcze byłem żółtodziobem to sporo osób z USA pisało że z takim kodem spokojnie praca dobrze płatna stoi przede mną otworem.

edit: w środowisku w którym się otaczam mój admin zarabia co msc ze 100 tys zł z tego płaci mi i kilku innym grosze. Wiem że to też dla mnie osiągalne, ale trzeba nieźle spiąć dupę i robić po 12h dziennie, reversing i dobre iq to podstawa.

0

Jak zamierzasz w repo trzymać jeden plik, to skorzystaj z https://gist.github.com/

Jak chcesz, żeby czytali Twój kod (tak jak teraz), to powinieneś pisać kod samokomentujący. Nazwa klasy ThreadMethods ( https://github.com/codingisfun241/PerfuForum/blob/master/Program.cs ) sugeruje.. bo ja wiem, coś zarządzającego wątkami, a tymczasem tam nie ma ani linijki operującej na wątkach :D Dla czytających i oceniających też dobrze by było dodać docstrings, żebyśmy bez wchodzenia w implementację, wiedzieli co chciałeś, żeby dana metoda robiła. Ja np. wiem, że Levenshtein distance pomaga w "niedosłownym" porównywaniu łańcuchów, ale jak ktoś się tym nie zajmował, to tego nie wie i sama nazwa metody levenstein nic mu nie powie, zwłaszcza że napisane z błędem skojarzy mu się ze znanym aktorem:
Noah Levenstein

Powinieneś poprawić styl programowania, czasem jedną myśl od drugiej oddzielaj dodatkowym enterem. Metody zawsze powinny być tak rozdzielone. Takie rzeczy też wpływają na pisanie czystego kodu.
Wieloklasowe projekty musisz zawsze pisać z podziałem na pliki i foldery. Nie zasłaniać się "pisałem na szybko", bo to tak naprawdę spowalnia tworzenie czegoś, do czego kiedyś chciałbyś coś dorobić.

1
mar173 napisał(a):
sugar_hiccup napisał(a):

....
Nie wiem, czy jest sens czytać dalej.

To akurat ostatni projekcik zrobiony na szybko, oczywiście że wypada tutaj użyć pętli by nie powielać tego samego kodu. To są akurat projekty na własny użytek, nie wymieniłem tu projektów za które dostaje co msc $.

Problem w tym, że to nie jest wcale szybciej zaklepać niż z pętlą. Nawet trzymając palce na Ctrl, C, V, i potem modyfikując numerki zaklepiesz to dłużej niż jakbyś po prostu napisał tę pętlę, albo zrobił parę obliczeń itp.

Jeśli ktoś nazywa zmienne typu percent1, percent2, percent3 itp. to nie świadczy to wcale o oszczędności czasu, tylko o brakach w myśleniu abstrakcyjnym (to, że nie przyswoiłeś sobie konceptu tablicy albo nie umiesz robić obliczeń numerycznych, pętli, posługiwać się zmiennymi, albo jeszcze czegoś innego, co akurat byłoby bardziej naturalne w tym przypadku - nawet ciężko powiedzieć, jak powinno być, bo nie wiem, co chcesz tam osiągnąć, poza jednym wielkim WTF. Ten kawałek kodu w pliku VideoEngine.cs jest po prostu zły (i mówię to nawet nie znając C#, bo to widać kurczę).

Czyli ogólnie - przystopuj trochę, przestań "klepać", a zacznij myśleć. Albo zacznij czytać o jakichś bardziej eleganckich sposobach rozwiązywania problemów, na wyższym poziomie abstrakcji niż robienie wszystkiego "na pałę"

Albo np. tutaj
https://github.com/codingisfun241/Ceneo/blob/a417851b313f7c2250e42d8069592b1e2d2e3517/Form.cs#L266

rozumiem ideę, parsowanie konkretnej strony, stąd różne magiczne cyferki w tym, które nie wiadomo skąd się wzięły (bo tak akurat zrobili na Ceneo i koniec) ale tak naprawdę to taki jednorazowy skrypt i za dwa tygodnie nie będziesz wiedział, czemu tu są 3 zagnieżdżone ify albo dlaczego tu jest at + 5 (swoją drogą czy przypadkiem tego, co chcesz osiągnąć nie dałoby się złapać jakimś wyrażeniem regularnym?).

Jak dla mnie to takie typowo skryptowe pisanie, do doraźnych rzeczy, i pisanie skryptów, które robią co trzeba (np. wyciągają jakieś dane skądś), ale za tydzień o nich zapomnisz. Problem w tym, że w firmach szuka się często ludzi do utrzymywania aplikacji przez dłuższy czas, więc tego typu skryptowe pisanie może nie zrobić pozytywnego wrażenia.

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