• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[Kontrola wersji][Testy][Dokumentacja][IDE] Projekt podsumowujący - wizytówka do CV.

Object Storage Arubacloud
0 głosów
307 wizyt
pytanie zadane 16 maja 2016 w C i C++ przez Marcin_N_97 Stary wyjadacz (10,290 p.)
Witam Was serdecznie forumowicze!

Niedługo kończy się mój pierwszy rok na studiach o kierunku Automatyki i Robotyki. Wraz z dobrym znajomym zamierzamy zadbać o naszą przyszłość ponad uczelnie, dlatego w większości rozwijamy się sami. Teraz nadszedł czas, w którym chcemy podsumować to co się nauczyliśmy/nauczymy. Dokładny pomysł na projekt już obrany i opisany, po sesji zabieramy się do dzieła. Ale przed tym mam do Was kilka pytań/próśb:

1. Program do dokumentacji. Na razie korzystaliśmy z dia do tworzenia diagramów i z doxygena do kompletnej dokumentacji. Czy polecacie coś innego, a może macie jakieś inne rady w tym kierunku?

2. Jako sposób testowania wybraliśmy wstępnie TDD. Może polecacie coś innego lub macie jakieś rady? A jaki framework testowy - gtest?

3. Kontrola wersji. Oczywiście GIT, aczkolwiek na jakiej platformie - GitHub? Oraz może jakiś program pomocniczy czy lepiej czysto w konsoli? Zależy nam na tym, byśmy mieli prawa autorskie do projektu - najlepiej nie na zasadach opensource (jak GitHub).

4. Jakie polecacie IDE? Piszemy oczywiście pod linuxem. Zaznajomieni jesteśmy z dwoma: CodeBlocks oraz Emacs. Polecacie może jakiś inny, w którym lepiej pisać większe projekty? Program będzie tylko w wersji konsolowej.

Jakiekolwiek inne rady co do projektu są jak najbardziej mile widziane, wszystkie pomysł, wzorce itd. Dziękuję bardzo Wam za rady, pomoc i poświęcony dla mnie czas! Pozdrawiam ;)

1 odpowiedź

+1 głos
odpowiedź 16 maja 2016 przez event15 Szeryf (93,790 p.)

Program do dokumentacji. Na razie korzystaliśmy z dia do tworzenia diagramów i z doxygena do kompletnej dokumentacji. Czy polecacie coś innego, a może macie jakieś inne rady w tym kierunku?
 

Ja korzystam do diagramów z draw.io - wystarcza mi do wszystkiego. A do tworzenia dokumentacji wystarczy Word. Jeśli chodzi o dokumentowanie kodu, to myślę, że w przypadku korzystania z CLion nie będziesz miec problemu. 

Jako sposób testowania wybraliśmy wstępnie TDD. Może polecacie coś innego lub macie jakieś rady? A jaki framework testowy - gtest?

W przypadku C++ uważam, że macie dużo utrudnione zadanie - myślę że ktoś kto koryzstał z jakiś frameworków u Was wypowie się i wam podpowie. Oczywiście TDD jest najlepsze, z czym możecie się spotkać - ja preferuję Test-First a nie londyńską szokłę. No i najlepiej, jak byście poznali TDD w kontekście testów specyfikacji, ponieważ to pomaga lepiej zaprojektować kod. Testy jednostkowe raczej dbają o inne szczegóły, chociaż również polecam. W przypadku PHP jest to PHPSpec + Behat. W przypadku C++ nie wiem, aczkolwiek na pewno znajdzie się odpowiednik Cucumbera i w formacie gherkina.

 Kontrola wersji. Oczywiście GIT, aczkolwiek na jakiej platformie - GitHub? Oraz może jakiś program pomocniczy czy lepiej czysto w konsoli? Zależy nam na tym, byśmy mieli prawa autorskie do projektu - najlepiej nie na zasadach opensource (jak GitHub).

Ściągnijcie sobie GitLaba. Lub BitBucket. Oczywiście CLion daje pełne wsparcie do gita. Jeśli nie lubicie takich rozwiązań to konsola jest idealna. 

Jakie polecacie IDE? Piszemy oczywiście pod linuxem. Zaznajomieni jesteśmy z dwoma: CodeBlocks oraz Emacs. Polecacie może jakiś inny, w którym lepiej pisać większe projekty? Program będzie tylko w wersji konsolowej.

CLion oraz VisualStudio.
 

Odnośnie wzorców itp:

https://php-kurs.gitbooks.io/phpkurs/content/bibliografia.html

Jest zawarta cała literatura potrzebna do masterowania. Od wzorców projektowych przez architektoniczne i modelowanie dziedziny wykorzystujące metodologię DDD. Jest masa rzeczy o TDD itp.  

komentarz 16 maja 2016 przez Marcin_N_97 Stary wyjadacz (10,290 p.)
Świetna wypowiedź, dzięki bardzo! Co prawda gardzę visual studio, aczkolwiek CLiona niedługo wypróbuję i zobaczę jak to będzie leciało. Pisałeś o londyńskiej szkole, co to jest? I mógłbyś dokładniej wyjaśnić odnośnie tych testów specyfikacji? ;)
komentarz 16 maja 2016 przez event15 Szeryf (93,790 p.)
Londyńska szkoła - bo jak to ludzie z anglii - lubią robić wiele rzeczy na opak. W przypadku testów stamtąd wywodzi się testowanie Test-last, czyli naparzanie testów po napisaniu funkcjonalności. Czyli pisze metodę, testuję, piszę inną metodę, testuję.

W test first jest najpierw test, który pozwala pomyśleć o przypadkach w jakich będzie się korzystać z tej metody i w jaki sposób a na końcu jest tworzenie jej.

Testy specyfikacji to po prostu Testy pozwalające na łatwiejsze projektowanie kodu obiektowego. Są czytelne dla każdego, bo wszystko jest słownie pisane. To chyba główna zaleta. Dodatkowa zaleta, że dzięki temu już widzisz całą integrację w danej specyfikacji - powiedzmy "Jako użytkownik chciałbym zalogować się do aplikacji w celu otrzymania możliwości wykonywania operacji zarezerwowanych dla stałych klientów" Jest to scenariusz specki i w nim określasz sobie co to tak na prawdę znaczy:

trzeba poprawnie się zalogować

jeśli nie ma się konta to trzeba je utworzyć

trzeba zrobić możliwość logowania sie przez fejsa i linkedin

trzeba potwierdzić rejestracje mailem

trzeba wpisać kod otrzymany smsem

trzeba sprawdzić poprawność danych

trzeba coś tam.

 

http://www.slideshare.net/chassa/specificationbyexample-with-gherkin-16279535

https://spin.atomicobject.com/2012/05/23/acceptance-testing-c-with-cucumber-and-the-wire-protocol/

Ogólnie czytaj o BDD - Behavioral Driven Design.
komentarz 16 maja 2016 przez Marcin_N_97 Stary wyjadacz (10,290 p.)
No to wszystko znam tylko pod innymi nazwami lub po prostu bez nazw ;)

TTD:

1. Piszesz test.

2. Testujesz - FALSE.

3. Piszesz metode/klase/cokolwiek.

4. Testujesz - TRUE.

 

Odnośnie testów specyfikacji to idealnie o tym mówi SCRUM i Agile, co zamierzamy spróbować malutko dodaćdo projektu ;)

 

Dzięki bardzo za rady, w wolnej chwili poczytam te strony.

Podobne pytania

0 głosów
1 odpowiedź 158 wizyt
pytanie zadane 13 stycznia 2016 w PHP przez elaen Gaduła (4,760 p.)
0 głosów
7 odpowiedzi 5,670 wizyt
pytanie zadane 16 kwietnia 2018 w C i C++ przez Pyro Gaduła (4,210 p.)
0 głosów
1 odpowiedź 197 wizyt
pytanie zadane 30 kwietnia 2017 w JavaScript przez culprit Początkujący (290 p.)

92,568 zapytań

141,424 odpowiedzi

319,630 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...