Wątek przeniesiony 2015-08-19 01:58 z Newbie przez furious programming.

Program w c#, ocena

0

Witam,

Naskrobałem sobie taki programik i chciałbym wiedzieć jak, mniej więcej, oceniacie mój kod. C# się uczę od niecałej połowy roku, SQL zacząłem ogarniać do tego programiku. Starałem się robić go MVC, ale wyszło troszkę niewiadomoco ;). Teraz może nie zapomnę kiedy mam jazdy :)

Plików trochę dużo, więc wrzucam na githuba https://github.com/pixellos/Organizers/tree/master/Organizator

Chciałbym się dowiedzieć co zrobiłem poprawnie, a co źle, i dlaczego nie chodzi poza visualem ;)

0

Czemu użyłeś DataSetów i Linq to SQL?

2

powinienieś dostać po uszach za te commity

0

Racja, nie wiedziałem jak bazę danych na GH wysłać i próbowałem wysyłać to samo kilka razy, potem się zorientowałem, że github ma zakazane rozszerzenia w pliku i trzeba je wywalić :). Co sądzicie o kodzie, jak bym chciał iść gdzieś do pracy/na praktyki to warto taki kod w CV dać, czy lepiej nie?

Jeszcze chciałbym się zapytać, dlaczego nie działa, gdy go opublikuję i uruchomię?

0

Tak w kwestiach niekoniecznie technicznych:

  • Tytuły commitów koszmarne :-),
  • Sporo literówek w nazewnictwie: Controler, Magnament, Seter,
  • Niektóre nazwy metod ssą: MyMethod,
  • Braki w spacjach tu i ówdzie (np. przy liście parametrów w nagłówku albo wywołaniu metody, w wyrażeniu matematycznym), nadmiarowe entery i tym podobne bajery, których StyleCop by się czepiał (a i dziwne, że samo VS nie poprawiło),
  • Brak jakiejkolwiek dokumentacji w kodzie!,
  • Nie wrzucaj plików lub katalogów *.csproj.user, *.suo, $tf, .vs czy *.vspscc do repozytorium - korzystaj z .gitignore, VS2015 nawet je automatycznie dla ciebie tworzy przy tworzeniu nowego repozytorium, podobnie sam GitHub też potrafi, podobnie nie powinieneś również wrzucać plików binarnych (wyników swojej kompilacji),
1

Czego użyć zamiast Linq to SQL? Czegoś rozwijanego, chociażby EF.

W repozytorium nie powinieneś mieć plików: user, vspscc (ani innych gówien z TfuFSa), baz danych, logów baz danych, plików wyjściowych aplikacji (a więc także katalogów Debug, Release, bin i obj).

0

@Ktos zabieram się za poprawianie, MyMethod była tylko raz, jakoś mi uciekła jak przerabiałem kod (VAssistX mi pomagał :)). Co do reszty, jak powinienem nazywać commity :P? Znaki białe i pliki zaraz poprawię.

@somekind nie potrafię odpowiedzieć czemu Linq to SQL, może dlatego, że nie mam jeszcze zbyt dużego pojęcia na temat tych technologi :), następnym razem zainteresuję się EF.

Dzięki za odzew!

@Edit ściągam StyleCop'a :D
@Edit warringi w *.designer.cs, niech visual się kod nauczy generować :)!
Jeszcze chciałem się dopytać jakiego rodzaju dokumentacje mam pisać? Opisywać funkcje, co to robi czy co? Myślałem, że logiczne nazywanie metod i funkcji oraz klas wystarczy ;)

1

Commity o tytułach "a", "w" oraz "2015-08-09" (pull request) niewiele mówią co się zmieniło. Przejrzyj na przykład: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html. Oczywiście, to są reguły dla super-duper-projektów, ale przynajmniej warto trzymać się tej reguły z krótkim podsumowaniem zmian i rozbudowanym opisem dalej.

StyleCop nie działa (oficjalna wersja) na VS2015 - ja używam tego forka: https://visualstudiogallery.msdn.microsoft.com/cac2a05b-6eb6-4fa2-95b9-1f8d011e6cae. Ale dostosuj sobie reguły, bo standardowe są koszmarne (using wewnątrz namespace, serio?) i są na przykład niezgodne z regułami Microsoftu dla samego corefx ;-) Ja osobiście używam ustawień mniej więcej z załącznika tego postu (zmień rozszerzenie na .StyleCop). No i oczywiście czepia się dokumentacji każdego możliwego elementu.

.gitignore dla projektów .NET-owych znajdziesz np. na https://www.gitignore.io/api/visualstudio

0

Ja już zacząłem przenosić usingi :), czy naprawdę pisanie private Typ Nazwal zamiast TypNazwa; wewnątrz funkcji jest niepoprawne? StyleCop krzyczy. Za ustawienia dzięki, zaraz zastosuje :)

Co do tych commitów poznawałem obsługę Gita po prostu, zawszę wolę poklikać niż tutka poczytać, więc wyszło jak wyszło :) Żadnych zmian tam praktycznie nie było , na gita ten projekt dodałem jak był prawie ukończony :)

Jak metoda przyjmuje dużo argumentów np Metoda(x, y, z, q, w, e, r, t, y); to lepiej zostawić w jednej linii, czy dać

Metoda(x, y, z, q, w,
       e, r, t, y);

Dobra, poszedł commit, wracam do 416 warningów ;) .

A tak bardziej technicznie to jaki jest mniej więcej mój kod, jako junior dev bym się gdzieś nadał, czy jeszcze za wcześnie?

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