Tworzenie portfolio - prośba o ocenę kodu

0

Cześć.
Na początku chciałem Wam powiedzieć, że bardzo się cieszę z dołączenia do forum. Mam nadzieję że będzie to przyjemność odwzajemniona :)

Kilka słów o sobie:
Jestem Grzesiek i mam 24 lata. Jeszcze 3,5 roku temu nie wiedziałem kompletnie nic o programowaniu.
Obecnie jestem po 3 roku studiów na informatyce.
Pracuję również zawodowo - mam w tej chwili ok. 10 miesięcy doświadczenia (3 miesiące praktyk + 7 miesięcy zatrudnienia na UoP).
W pracy piszemy głównie w C++, choć zdarzają się też inne języki - jak np. C lub Python.

Z języków i technologii, które poznałem, najbardziej lubię C++ (zwłaszcza od standardu C++11 wzwyż).
Wiem też o nim zdecydowanie najwięcej (co nie znaczy że uważam się za eksperta - wiele słyszałem o tym, jak trudny jest to język i wiem że jeszcze wiele się muszę nauczyć).
Chcę się dalej rozwijać jako programista C++ i stawać coraz lepszym specjalistą.

Częścią tego planu jest tworzenie portfolio.
Do tego celu przeznaczyłem swoje konto na Githubie.
Będą tam trafiały projekty, które chciałbym "pokazać światu".
Nie tylko po to, żeby się pochwalić.
Głównie dlatego, że zależy mi na opinii bardziej doświadczonych programistów.
Osób, dzięki którym mogę stać się jeszcze lepszym.
Nie ukrywam również, że te portfolio zamierzam wykorzystywać na swoich przyszłych rozmowach o pracę.

Będę bardzo wdzięczny za wszystkie uwagi i sugestie, dotyczące moich projektów.
Są to obecnie 3 projekty: NumericSolitaire, ContextFreeGrammar oraz SchoolStatistics.
Z czasem planuję rozszerzać portfolio o kolejne projekty.
Szczegóły nt. każdego projektu są w plikach README, dlatego tutaj nie będę się rozpisywał na ten temat.

Jeszcze raz z góry dziękuję za wszystkie Wasze opinie w tej sprawie. :)

0
  1. Nie ma w README.md jak to odpalić.
  2. Nie ma makefile.
  3. Nie ma bazy danych.
0

Nie Masz żadnych testów, czyli potencjalnie jest tam pełno bugów - raczej nie można na tych programach polegać.

0

Nazwy plików, branchy i commit msgi po polsku - zła praktyka.

w ContextFreeGrammar widzę 6 commitów 1 dnia zmieniająca jeden plik, i to z takim samym commit msgiem. Lepszy byłby 1 czy 2 przemyślane.

No i strasznie dziwne dziwne wcięcia w kodzie, np.:
void print(
const set<string> &printedSet,
string setName,
unsigned i,
unsigned j,
unsigned k) {

0

@galgreg:

  1. Powiedz swojej mamie by odpaliła ten kod. Pewnie jej się nie uda, ale gdyby np. było tam napisane, że aby to skompilować i uruchomić trzeba w terminalu napisać make build itd. to pewnie by sobie poradziła.
  2. Nie ma znaczenia ile plików. Wydaje mi się że powinniśmy być makefile, choć przyznaję dawno nie pisałem w C/C++.
  3. No to to sa zle założenia. Dla mnie jest to błędna praktyka.
0

Kilka uwag odnośnie projektu SchoolStatistics

  1. Staraj się tworzyć obiekty przy pomocy make_unique<>() CoreGuidelines
  2. Funkcje nie zgłaszające żadnych wyjątków powinny posiadać noexcept w swojej definicji.
  3. Pomyśl o funkcjach zwracających dane ( np. *size_t Grades::maxAllowedCount() * ) jako o funkcjach inline.
  4. Dobrym pomysłem jest użycie własnego namespace.
  5. W kodzie nie widzę komentarzy - może przydał by się QDoc lub doxygen i porządna dokumentacja kodu.

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