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

Jak zacząć większy projekt?

Object Storage Arubacloud
+1 głos
3,831 wizyt
pytanie zadane 8 września 2015 w Java przez mike0093 Nowicjusz (170 p.)
Hej! Jak się zabrać do większego projektu?

Wszedzie spotykam się z zdaniem, że żeby nauczyć się programowania to trzeba pisać, pisać i jeszcze raz pisać. Ja jakoś nie mogę. Włączam IDE i gapię się głupio w ekran. Nie wiem jak się za to po kolei zabrać. Też mieliście tak na początku?

Chciałem ostatnio zrobić projekt. Dziennik uczniów.

Zrobiłem 3 klasy, Student, Teacher, Parent, dodałem im atrybuty, settery, gettery. I nie wiem co dalej..

 

Zabrać się za widoki? Jak szukać tutoriali?

Jest masa tych np. filmików, ale wiekszość albo totalne podstawy, albo coś starego i nie używanego..

Mam chyba kryzys.. Chce się uczyć ale czuje taką bezsilność bo nie potrafie pisać.

 

To tak jakbyś cholernie chciał jeździć samochodem, a jeszcze nie możesz bo nie masz prawa jazdy :D

Chyba potrzebuje jakiegoś kopniaka!

Pozdrawiam pasjonatów!

6 odpowiedzi

+4 głosów
odpowiedź 9 września 2015 przez Waszek Gaduła (4,130 p.)
Ja stosuję np. taką praktykę, że pisanie dużej aplikacji zaczynam od kartki i długopisu/notatnika/cokolwiek gdzie można coś zapisać.

Siadam i rozpisuję sobie co aplikacja ma robić, jakie ma mieć funkcjonalności itp. Całe założenia użytkowe programu.

Potem siadam i rozpisuję schemat budowy aplikacji - podział na klasy, metody i atybuty klas - jakie mają być i jak działać. Nie musi być od razu wszystko. Część rzeczy wychodzi w trakcie pisania.

Jeżeli coś wykorzystuje bazy danych to sobie ją także rozrysowuje. Rozpisuje tabele, jakiego typu dane będą :)

To pomaga :) Warto potem te uwagi wrzucić sobie w komentarzu w kodzie źródłowym :)
komentarz 9 września 2015 przez Waszek Gaduła (4,130 p.)
Ogólnie polecam więcej czasu poświęcić na przygotowanie/dokumentacje. Większość czasu projektowania aplikacji powinna być poświęcona na aspekty logistyczne. Potem to tylko ubieranie słów w kod :) 70% czasu przygotowań, 30% kodzenie :)
+1 głos
odpowiedź 8 września 2015 przez Benek Szeryf (91,050 p.)
Jak chcesz zrobić duży projekt, to skup się na takim temacie, który znasz bardzo dobrze i dodatkowo jest to Twoje hobby. Na przykład jak jesteś fanem piłki nożnej to zrób oprogramowanie, które pozwala dodawać i usuwać drużyny, zbierać statystyki poszczególnych piłkarzy, obliczać prawdopodobieństwo wygranej na podstawie wcześniejszych meczy itp. Jeśli będzie to coś, co lubisz, to pomysły same zaczną przychodzić do głowy, a rozbudowanie aplikacji stanie się Twoim priorytetem.
komentarz 8 września 2015 przez Buby Pasjonat (19,590 p.)
Dodam od siebie, że warto też zainwestować w jakąś dobrą książkę. Z autopsji wiem, że dobra książka potrafi na prawdę ułatwić życie i zapoznać człowieka z tematem. Oczywiście ma to też swój koszt, jednak jeśli raz na jakiś czas wydasz około 100zł, bo w takiej cenie można już kupić na prawdę ciekawą i wartościową pozycję, to nie jest to czymś na prawdę cięzkim.

Poza tym, posiadając wiedzę o różnych frameworkach pomysły same będą przychodzić do głowy. Ewentualnie możesz zastosować też praktykę, która będzie wykorzystywać to co podał kolega wyżej - określasz sobie cel - program który chcesz napisać. Szukasz w google informacji dot. jakiego framworku będziesz potrzebował i albo szukasz tutoriali, albo dobrej pozycji. Polecam to drugie, ale tylko jeśli książka jest w miarę nowa - wiadomo, że jak kupisz pozycję z 2005 roku, to nie będzie to dobrym pomysłem. Jednak książki z ostatnich dwóch, trzech lat zazwyczaj posiadają solidne informacje.

Pozdrawiam!
komentarz 8 września 2015 przez Tomasz90 Nałogowiec (25,140 p.)
Akurat do Javy jest kilka starszych książek, które są dobre:

Effective Java 2nd Edition - 2008 rok

Thinking in Java 4th Edition - 2006 rok

Hibernate in Action - 2005 rok

Java Persistence with Hibernate - 2006 rok (w tym roku ma wyjść drugie wydanie)

Killer Game Programming in Java - 2005 rok

Generalnie to co dotyczy Javy 5 w górę jest ok, resztę rzeczy można sobie w internecie doczytać. No i większość książek lepiej czytać po angielsku bo ich tłumaczenia są słabe.
+1 głos
odpowiedź 8 września 2015 przez Tomasz90 Nałogowiec (25,140 p.)
Zakładam, że to aplikacja internetowa. Na początku nie rzucaj się na wszystkie możliwe technologie bo nie ogarniesz od razu wszystkiego: Na początku zaplanuj sobie jak powinna baza danych wyglądać. Na początku tego rodzica możesz nawet pominąć. Jedynie zrób tak, że użytkownik(uczeń ma jedynie podgląd ocen) a nauczyciel może, je dodawać, edytować, usuwać. Bazę uzupełnij ją jakimiś danymi. No i jedynie na początku napisz sobie to przy użyciu samych serwletów i JSP(lub czymś o tym samym przeznaczeniu) no i wiadomo JDBC. Jak to Ci będzie działać to wtedy możesz dodawać jakieś bajery typu liczenie średniej, różne typy ocen. No i potem próbować wykorzystać Springa i Hibernate'a.
+1 głos
odpowiedź 9 września 2015 przez event15 Szeryf (93,790 p.)
Jeżeli chodzi o tworzenie poważnych dużych projektów, to polecam Erica Evansa i jego Blue Book o Domain-driven Design. Oczywiście kilka innych pozycji jak np Red Book w tej tematyce. Duuzo filmów na yt można znaleźć z warsztatami o DDD.

Jednak jest to dość ciężki temat i nie wiem czy samodzielnie mógłbyś go przerobić. Niektórzy muszą dojrzewać do tego.

Swoją drogą, nazwanie klasy "Parent" jest mylące i dziwi mnie, że nie jest ona zastrzeżoną nazwą w języku.

Pomyśl o relacjach między danymi osobami. Najlepiej weź kartę A3 albo nawet A1 i rozrysuj sobie wszystko w postaci pseudo UML. Zaplanuj sobie jakie będą nosić nazwy klasy, jakie klasy w ogole musza powstać.

Dobrym nawykiem jest tworzenie oprogramowania w taki sposób:
User stories:

JAKO zalogowany użytkownik CHCĘ mieć zakładkę "Moje oceny" w głównym widoku ABY mieć dostęp do przeglądania ocen.

To się nazywa BDD - Behavioral-driven design i oznacza, że najpierw zastanawiasz się, co tak naprawdę aplikacja ma robić. Tworzysz żywą specyfikację i jednocześnie dokumentację swojego kodu.
Przy okazji jeżeli użyjesz do tego jakiegoś narzędzia (w PHP to Behat albo PHPSpec) to możesz wygenerować sobie od razu kod, który będzie sprawdzał czy Twój program spełnia wymogi specyfikacji.

Jeśli to cię zaciekawiło, poczytaj o BDD i formacie Gherkin.

Poza tym warto użyć jakiegoś narzędzia do planowania: ja polecam acunote bo sam używam :)
Wersjonowanie to pewnie git albo bitbucket.

No i jeżeli to większy projekt to potrzeba jakiegoś bugtrackera. I na sam koniec testy jednostkowe (w PHP to PHPUnit) i funkcjonalne czyli Selenium.

Oczywiście tak wykonany projekt to mega profeska, mało kto robi te wszystkie rzeczy, a jak już wszystko to nie tak dokładnie jak powinno to wyglądać. Ale samo podejście spowoduje, że aplikacja będzie nieco bardziej bezpieczna, czytelna i rozszerzalna.

Książki z zakresu:
Eric Evans DDD, Blue Book, Red Book, Rober C. Martin Agile i Clean Code, Kent Beck o TDD, Martin Fowler. No i banda czworga jeżeli chodzi o wzorce projektowe chociaż to stara pozycja z lat przed Twoimi narodzinami to warto uzupełnić ją właśnie Martinem Fowlerem.
0 głosów
odpowiedź 9 września 2015 przez Strategiusz Dyskutant (9,220 p.)
Większe projekty zaczyna się od zaprojektowania ich, czyli najpierw wymyślasz jak to zrobić. Niestety tutoriale i książki zawierają tylko przykłady małych stron czy programów, które wymagają co najwyżej minutę projektowania, o ile w ogóle.

Sam mam problem z projektowaniem. To rzecz w której ważne jest doświadczenie. Im więcej znasz języków, frameworków innych technologii (bazy danych, engine'y), kodów źródłowych. Tym większa szansa, że sam wymyślisz coś sensownego albo po prostu skopiujesz dobre rozwiązanie.
0 głosów
odpowiedź 9 września 2015 przez mike0093 Nowicjusz (170 p.)
Dzięki za liczne odpowiedzi!

Pozapisywałem sobie tytuły książek, wziąłem do serca uwagi, zabieram się do roboty!

Pozdrawiam serdecznie!

Podobne pytania

0 głosów
3 odpowiedzi 473 wizyt
0 głosów
2 odpowiedzi 305 wizyt
pytanie zadane 8 maja 2015 w C i C++ przez Gandalf Obywatel (1,260 p.)
+1 głos
1 odpowiedź 435 wizyt
pytanie zadane 27 maja 2020 w Nasze projekty przez nanautzin Obywatel (1,510 p.)

92,579 zapytań

141,432 odpowiedzi

319,662 komentarzy

61,963 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!

...