2009-09-11 8 views
19

Właśnie się uczyłem programowania w wieku 17 lat. Trudno mi jest rozmawiać z innymi programistami, ponieważ jestem po prostu w szkole średniej (co oznacza, że ​​nie mogę brać kursów programowania). Wiem, że piszę straszny kod, and not like Jeff Atwood terrible code, mój kod jest do bani. Więc gdzie mogę opublikować część mojego kodu i poprosić prawdziwych programistów, aby to przejrzeli. Wiem, że gdybym miał pytanie, mógłbym zapytać o to w StackOverflow, ale chcę opublikować całą klasę i uzyskać recenzję.Gdzie można uzyskać recenzowanie kodu i jak uzyskać dostęp do mojego kodu?

Prawdziwym problemem jest to, że nie zamierzam pisać kolejnego świetnego oprogramowania. Mam zamiar napisać naprawdę bezużyteczną lekcję, która nie służy niczemu, jak nauczyć mnie programowania. Ten kod nigdy nie będzie używany! EVER! Jak mogę uzyskać zaawansowanego (lub nawet pośredniego) programistę, który zajmie się moim kodem?

Z góry dziękuję! ;-)

+2

Off-topic, ale jeśli nazwa jest faktycznie Bob Dylan, to są wyraźnie przeznaczone do pisania wielką kodu. Powieś tam. – JoshJordan

+9

+1 za realizację Twojego kodu nie jest najlepszy. Wielu programistów o tym zapomina. Uświadomienie sobie, że masz miejsce do nauki, jest wspaniałym krokiem we właściwym kierunku. – Kit

+2

"Nie mogę brać udziału w kursach programowania" - w wieku 17 lat odbyłem kursy programowania w college'u z akredytowanej uczelni (niedrogiej). Jeśli zadajesz takie pytania, to naprawdę powinieneś wyjść z zajęć. Mam nadzieję, że znajdziesz trochę w swojej okolicy. –

Odpowiedz

14

Zobacz społeczność open source. Istnieje wiele istniejących i nowych projektów, które pokochają gorliwego (jeśli niedoświadczonego) programistę oferującego wsparcie.

Idąc tą drogą oferuje dwie zalety:

  1. Można zobaczyć wielki kod w akcji i uczyć się od niego
  2. Wszelkie zmiany przesyłanej zostaną sprawdzone przez doświadczonego dewelopera, a oni często daje doskonałe sugestie, jak poprawić kod, zanim zostanie on zaakceptowany.

Rozpocznij od wyboru projektu w swoim języku (jest kilka w C++) i sprawdź kod. Nie musisz tego wszystkiego rozumieć, ale musisz zrozumieć przynajmniej jego część.

Jeśli projekt wygląda na skomplikowany, szukaj dalej. Młodsze projekty mają zazwyczaj mniej kodu, którego musisz się nauczyć.

9

Jeśli nie możesz znaleźć świetnych programistów, aby spojrzeć na swój kod, zrób co innego: patrz na ich!

Poszukaj garści fragmentów kodu, które robią to samo (proste). Zanim przyjrzysz się im zbyt uważnie, napisz swój własny kod, aby wykonać to samo zadanie. Porównaj wszystkie fragmenty z własnymi (i nawzajem!) I spróbuj znaleźć przyczyny różnic.

Polecam poszukać kodu z dobrze znanych projektów. Kod z tutoriali często ignoruje ważne szczegóły ze względu na prostotę.

4

Myślę, że najlepszym sposobem na naukę jest sposób, w jaki się nauczyłem (mogę być stronniczy): próbę i błąd. Po prostu pisałem programy przez cały czas, ucząc się jak poszedłem. Napisałabym okropny kod i zmagałbym się z robieniem tego, co chciałem. Często zmuszałbym mnie do rezygnacji z tego konkretnego projektu. Ale w następnym projekcie zastosowałem inne podejście i byłoby lepiej. Powtórz ad nudę. Gdy już wiesz, gdzie w Twoich projektach znajdują się ostre plamy, możesz zadać konkretne pytania na temat miejsc takich jak SO lub, jeszcze lepiej IMHO, wymyślić lepsze projekty samemu. Niezależnie wymyśliłem wszystkie główne wzorce projektowe tylko przez frustrację z rozwiązań, które stworzyłem w przeszłości. Myślę, że to daje mi cenną perspektywę, ponieważ dla większości ludzi wzorce projektowe to tylko "najlepsza praktyka", ale znam ból związany z używaniem innych wzorów i bardzo łatwo dostrzegam oznaki złych projektów w kodzie (to wymaga jeden znać jeden). Ta ostatnia umiejętność to taka, której często brakuje mi w innych programistach ...nie widzą, dlaczego ich projekt jest wadliwy i powinni używać czegoś innego.

5

Próbowałbym nie pisać bezużytecznego kodu, ale próbuję rozwiązać jakiś konkretny problem. Twoja nauka będzie bardziej zaawansowana, jeśli uczysz się w kontekście realnego scenariusza. Nie musi to być duża dziedzina biznesu; może nawet być grą lub programem użytkowym.

Jeśli chodzi o sprawdzenie kodu, społeczność open source to dobry sposób na to, jak mówi The Lame Duck - w rzeczywistości masz gwarancję, że otrzymasz jakąś formę recenzji, jeśli rzeczywiście przyczynisz się do projektu. Inne możliwości odkrywania: twoja lokalna grupa użytkowników C++, sprawdzanie programu co-op dostępnego przez młodszą szkołę lub angażowanie kogoś w firmę sponsorującą stażystów.

Nie próbowałem witryn takich jak RefactorMyCode zgodnie z sugestią Gilad Naor, ale wydaje się to obiecujące. I tak, StackOverflow to dobre miejsce na fragmenty kodu o wielkości bitu. Jeśli to zrobisz, wyjaśnij, co próbujesz zrobić i dlaczego próbujesz to zrobić w ten sposób, i zapytaj, czy istnieje lepsze podejście. Powodzenia!

0

Zrób coś fajnego i nie przejmuj się zbytnio stylem kodu. Zacząłem z BASIC na Commodore 64, nawet nie zdając sobie sprawy, że istnieje coś takiego jak czysty kod i brudny kod. Gdybym wtedy bardzo się tym martwił, przeszkodziłoby mi to w postępie. Zawsze uczysz się najlepiej, gdy robisz to żartobliwie.

+1

Od kiedy poszukiwanie inteligentnej, konstruktywnej krytyki w celu poprawy jakości hamuje postęp? –

+0

Podczas nauki obcego języka, często udzielaną radą jest dużo mówić, nie martwiąc się zbytnio o popełnianie błędów. Uważam, że tak jest również w przypadku podejmowania pierwszych kroków w świecie programowania. – StackedCrooked

+0

Touché. W odpowiedzi należy zwrócić uwagę na wartość praktyki. –

1

Zawsze możesz wypróbować stronę taką jak Project Euler, gdzie jest mnóstwo problemów, które sprawdzą twoje umiejętności i całą masę rozwiązań tych problemów, zgłoszonych przez innych. Projekt Euler koncentruje się raczej na algorytmach niż na konstruktach programowania wyższego poziomu, ale wyobrażam sobie, że są inni w podobnym duchu.

0

Może trochę późno, ale od Stack Exchange Network ma Code review, warto odpowiedź:

Code Review Stos Exchange to pytanie i odpowiedź witryną sieci peer kodzie opinie programista. Jest w 100% darmowy, nie wymaga rejestracji.

Oto link: Code Review Stack Exchange

Powiązane problemy