Jak uchronić swoje podstawowe umiejętności przed atrofią? [Zamknięte]

37

Kodowanie to tylko jeden aspekt profesjonalnego programowania. Moja praca wymaga ode mnie kodowania, ale wymaga też robienia innych rzeczy przez dłuższy czas - czasem mijają dni lub tygodnie, kiedy nie tylko koduję .

Obawiam się, że pozwalam zanikać ciężko wypracowanym umiejętnościom programistycznym, gdy siedzę na spotkaniach, rysuję schematy architektury i opisuję wymagania. (Nie wspominając o tym, że nie ufam ludziom w pisaniu wymagań, którzy nie rozumieją kodu).

Nie mogę po prostu czytać książek i czasopism o kodowaniu. W wolnym czasie biorę udział w niektórych projektach typu open source, a przepełnienie stosów i znajomi pomagają trochę, ponieważ mam okazję pomagać ludziom w rozwiązywaniu problemów programistycznych bez mikromanagowania, ale żaden z nich nie jest strasznie ustrukturyzowany, więc praca jest kusząca najpierw problemy, które mogę łatwo rozwiązać.

Chyba chciałbym znaleźć uporządkowany zestaw ćwiczeń (nieważne, jaki język lub środowisko)…

  • … Mogę to robić okresowo
  • … Wymaga pewnego czasu, więc mogę powiedzieć, czy się wygłupiałem
  • … Ma jakąś punktację, więc mogę stwierdzić, czy popełniam błędy

Czy jest coś takiego? Co byś zrobił, aby Twoje umiejętności były świeże?

kojiro
źródło
6
Na tym stosie Wymiana tego rodzaju pytania są w rzeczywistości pomocne. Po co to zamykać?
Edeph
@Edeph Pytania takie jak brzmią na początku pomocne, ale doświadczenie pokazało, że mają niewielką wartość dla społeczności. Przeczytaj: Dlaczego moje pytanie zostało zamknięte jako nie na temat?
3
@Snowman, czyje doświadczenie? 25 głosów pozytywnych to odznaka „Dobre pytanie”. Odpowiedzi na to pytanie udzielił także pracownik StackExchange i wysoko oceniany członek społeczności. Tak więc sama społeczność wyraźnie stwierdziła, że ​​jest to cenne pytanie. Kropka. Poza tematem? Pozostaje do zobaczenia, ale cenny? Tak.
kojiro
1
@kojiro pytanie pozostaje zbyt ogólne i dotyczy przede wszystkim opinii. Jak pokazują odpowiedzi, które masz, nie ma właściwej odpowiedzi. Jego ludzie sugerują różne sposoby, które dla nich pracowały. U podstaw tego pytania leży ankieta. gdyby miał zostać ponownie otwarty, inne odpowiedzi, które byś otrzymał, byłyby tak samo zróżnicowane, bez uzyskania właściwej odpowiedzi, którą można odróżnić od innych.
1
Mówisz więc, że społeczność jest raczej napędzana przez paczkę modów (którzy są ludźmi i są podatni na subiektywizm) zamiast ludzi popierających coś, ponieważ jest to dla nich przydatne, mimo że nie ma poprawnej odpowiedzi z definicji? W tej dziedzinie nie wszystko jest czarno-białe?
Edeph,

Odpowiedzi:

26

Kody kodów przychodzą mi na myśl od razu.

Chodzi o to, że są to powtarzalne ćwiczenia, które możesz ćwiczyć, dopóki nie poznasz ich zimnych, i powtarzasz je okresowo, aby utrzymać swoje kotlety. Niektóre koncentrują się na programowaniu, inne są bardziej otwarte i skupiają się na myśleniu i projektowaniu. Można to zrobić w dowolnym języku lub środowisku, a niektórzy ludzie używają ich również do wypróbowania lub uczenia się nowych metod (na przykład programowania opartego na testach).

Witryna, do której odsyłam, zawiera wiele pomysłów na kata. Kolejną dość znaną jest gra w kręgle wuja Boba Martina.

Adam Lear
źródło
1
Niesamowite. Ćwiczenia Qigong dla programistów. Kocham to!
kojiro
Nigdy o nich nie słyszałem. Wyglądają fantastycznie. :)
Mój osobisty czas kodowania jest zawsze bardzo zakłócony (3 dzieci w domu). Połączona strona mówi: „Potrzebujesz czasu bez przerw”. Czy to rzeczywiście potrzeba, czy nadal będę w stanie uczyć się dość skutecznie, jeśli często mi przeszkadza?
Ethel Evans,
2
@Ethel Nie wiem z własnego doświadczenia, ale myślę, że nadal możesz kontynuować. Pomocna byłaby umiejętność zmiany kontekstu. Gdy ćwiczysz i zaznajomisz się z ćwiczeniami, wyobrażam sobie, że zarządzanie przerwami byłoby łatwiejsze.
Adam Lear
Teraz, gdy wykonałem część kata kodu, mogę komentować więcej. Mam pewne doświadczenie ze sztukami walki, więc myślę, że pomysł kata jest naprawdę dobry, ale (przynajmniej wczesne) kata zaproponowane przez Dave'a Thomasa bardziej przypominają podnoszenie ciężarów niż tradycyjne kata sztuk walki. Są to ciężka praca, ale ani powtarzalne, ani medytacyjne nie są wystarczającym ćwiczeniem, jak prawdziwy kata. To powiedziawszy, myślę, że możesz oprzeć dobre kata na jego propozycjach.
kojiro
10

Co z Project Euler ?

seria trudnych problemów programowania matematycznego / komputerowego, które wymagają więcej niż tylko matematycznych spostrzeżeń do rozwiązania. Chociaż matematyka pomoże ci znaleźć eleganckie i wydajne metody, do rozwiązania większości problemów konieczne będzie użycie komputera i umiejętności programowania.

Motywacją do rozpoczęcia Projektu Euler i jego kontynuacji jest zapewnienie platformie dla pytającego umysłu zagłębiania się w nieznane obszary i uczenia się nowych koncepcji w kontekście zabawy i rekreacji ...

Docelowi odbiorcy to studenci, dla których podstawowy program nauczania nie zaspokaja głodu nauki, dorośli, których wykształcenie nie było przede wszystkim matematyczne, ale interesowali się matematyką, oraz specjaliści, którzy chcą utrzymać rozwiązywanie problemów i matematykę na krawędzi ...

Martin Beckett
źródło
10
Moim zdaniem jest to więcej matematyki niż programowania.
Dobra uwaga - nie widziałem katas kodu w odpowiedzi Anny.
Martin Beckett