Czy to znaczy że nie nadaję sie na programiste?

0

Analizując jakiś kod który ma wiecej jak 2-3 klasy moj muzg zaczyna parować nie jestem w stanie tego ogarnac tak za jednym razem tzn zeby na chwile choć zapamiętać te wszystkie nazwy i powiązania metod itp żeby to sobie odtworzyć w głowie. Czy to normalne czy mam po prostu niski potencjał pamięciowo intelektualny?

3

Długopis, kartka w dłoń i analiza. Rozrysujesz sobie wszystko to będziesz widział.
Matematyki też nie uczysz się od równań z dwoma niewiadomymi, tak samo jak polskiego nie uczysz się od złożonej konstrukcji zdań. Przykłady można mnożyć.

0

jeśli analizujesz dobry, samodokumnetujący się kod to nie powinieneś mieć problemu. Zacznij od analizy np. UI bez wchodzenia w szczegóły implementacji poszczególnych klas. Wywoływane metody powinny Ci podpowiedzieć co się tam w środku dzieje i na początek to powinno wystarczyć. Oczywiście wszystko zależy od kodu, który analizujesz bo może być na tyle syfiasty, że nikt nie jest go w stanie zrozumieć.

0

Nie to nic takiego nie znaczy

0

To zależy jaki kod czytasz. Jeżeli czytasz kiepski kod, to normalne, że możesz łapać się za głowę podczas lektury, normalne jest również to gdy krzyczysz WTF! Jeżeli jest dobrze napisany to kod dwóch klas powinien być zrozumiały i możliwy do ogarnięcia bez kartki i długopisu, z minimalna ilością WTF.

0

heh mam na mysli kod w ksiazce do programowania :(

0

dlatego zastanawiam sie jak to by bylo sie polapac w prawdziwym projekcie co ma miljon linijek

0

W prawdziwym projekcie co ma milion linijek będziesz miał styczność może z kilkunastoma tysiącami (szacuję tak na oko) i to też pod warunkiem że będziesz pracował z tym kodem długo. Poza tym przy normalnej pracy, nie zawsze będziesz musiał analizować całych plików - częściej będą to poszczególne fragmenty. Wszystko zależy od jakości kodu.

0

nie mogłem się powstrzymać "muzg" Mózg (cerebrum) – narząd ośrodkowego układu nerwowego

0

spokojnie grammar nazis, to był tylko grammar trolling ;)

0

Ja jestem człowiekiem starej daty i wychowałem się na muzyce zespołów takich jak "Defekt Muzgó", ale jakiś poziom trzeba trzymać ( " Wierze oblężnicze" - w artykule na jednym z dużych portali, pewnie Word nie podkreślił :)

0

Ja to myśle że na takich portalach to też uprawiają trolling żeby ludzie( tzn motłoch który dowartosciowywuje się poprawiając czyjeś błędy ortograficzne w necie ) sie oburzyli i było więcej wejść ;)

0

Analizując jakiś kod który ma wiecej jak 2-3 klasy moj muzg zaczyna parować nie jestem w stanie tego ogarnac tak za jednym razem
tzn zeby na chwile choć zapamiętać te wszystkie nazwy i powiązania metod itp żeby to sobie odtworzyć w głowie.
Czy to normalne czy mam po prostu niski potencjał pamięciowo intelektualny?

A ja tam nie umiem czytać kodu i mam podobnie jak OP (2-3 klasy to jeszcze spoko, ale gorzej jak jest projekt choćby średniej wielkości i tych klas będzie kilkanaście czy kilkadziesiąt... Wtedy czuję się, jakby mi się mózg totalnie lasował.

Na szczęście umiem pisać kod, więc postanowiłem zawalczyć z własnymi ograniczeniami intelektualnymi i kombinuję, żeby zrobić narzędzie, które będzie pomagało programistom zrozumieć złożone projekty (np. wygodna nawigacja po projekcie, grafy zależności, informacje zebrane z działającej aplikacji (np. "po kliknięciu przycisku klasa A wywołała klasę B, która wywołała klasę C")).

Nie wiem jeszcze jak będzie to dokładnie wyglądać, ale coś zrobię, bo mnie wkurza ten cały zawód programisty - zatrudniają cię jako programistę i praktycznie może z 5% pracy z kodem to jego pisanie, a 95% to tylko czytanie i próby zrozumienia.

1

Jeśli tak masz to odpowiedź jest jedna - nie nadajesz się. Syfski kod to 90% tego z czym będziesz miał do czynienia. Nazwy z d**y, zduplikowane klasy, nieaktualizowane testy, komentarze w dziwnych językach, nazwy zmiennych w dziwnych językach, warunki które nigdy się nie wykonają itd. Jeśli twój mózg męczy się przy ogarnięciu kilku klas takiej mielonki to znaczy że wypalisz się szybciej niż żarówka 100 watowa. Szkoda życia, idź w testowanie, analitykę, tam gdzie trzeba ogarnąć ogół a nie szczegół :)

Programerka jest rajem dla aspergerowców i ludzi z foto pamięcią bo nawet ogarnięcie olbrzymich listingów to nie jest nic specjalnego. Jeśli pamiętasz gdzie co jest, co się gdzie wywołuje to samo to działa lepiej niż najlepsze IDE, bezsensowna dokumentacja czy równie nieogarniający tematu ludzie z biurka obok. Pływasz w gównie ale chociaż się nie męczysz.

Dlatego piszę serio - jeśli masz problem z zapamiętywaniem (kilka klas to nie jest dużo) to zmień specjalizację. Ładny kod jest w naszej branży jak Yeti - a życie masz tylko jedno, szkoda czasu żeby się męczyć z własnymi ograniczeniami :)

0

Myślę, że gdyby wszyscy mieli super pamięć, to nikt by nie korzystał z żadnych IDE tylko wszyscy by pisali w jakichś notatnikach. Nikt by nie potrzebował choćby autocomplete, czy tego rodzaju diagramów zależnosci: https://d3nmt5vlzunoa1.cloudfront.net/webstorm/files/2017/02/dependency-diagram.png
wiele firm (np. JetBrains) zrobiło furorę na tym, że programiści mają ograniczoną pamięć, i ogólnie ograniczone zdolności umysłowe.

(chociaż z IDE jest niestety taki problem, że nawet najlepsze IDE to zaledwie cząstka tego, co by można było osiągnąć - spójrzcie choćby na prototypy Breta Victora: http://worrydream.com/#!/LearnableProgramming gdyby podobne pomysły zaimplementować do IDE i wykorzystywać do zrozumienia realnych projektów, to może lepiej by się dało rozumieć kod).

Chociaż ogólnie zgadzam się, że syfiasty kod to standard (i na wiele z tego co napisałeś tylko bym przyklasnął), jednak myślę, że dużym ułatwieniem może być stosowanie odpowiednich narzędzi do analizy kodu, które wspomagają zrozumienie nawet kiepskiego kodu. Mamy zbyt słabe narzędzia po prostu.

Poza tym mimo wszystko myślę, że nawet na sam kod da się często wpłynąć jakoś (refaktoring, wspieranie dobrych praktyk w zespołach itp.).

1
Skromny Polityk napisał(a):

Analizując jakiś kod który ma wiecej jak 2-3 klasy moj muzg zaczyna parować nie jestem w stanie tego ogarnac tak za jednym razem tzn zeby na chwile choć zapamiętać te wszystkie nazwy i powiązania metod itp żeby to sobie odtworzyć w głowie. Czy to normalne czy mam po prostu niski potencjał pamięciowo intelektualny?

każdy tam był;

ja pamiętam godziny spędzone nad zrozumieniem różnicy między pointerem a zmienną w c++ i jak wskazać na jakąś pamięć;

było mega cieżko i "muzg" się topił;

jednego dnia wiedziałeś, a następnego już nie; trzeba pisać pisać i pisać;

0
loza_szydercow napisał(a):

Jeśli tak masz to odpowiedź jest jedna - nie nadajesz się. Syfski kod to 90% tego z czym będziesz miał do czynienia. Nazwy z d**y, zduplikowane klasy, nieaktualizowane testy, komentarze w dziwnych językach, nazwy zmiennych w dziwnych językach, warunki które nigdy się nie wykonają itd.

Myślę, że to duża przesada. W wielu firmach istnieją ustalone konwencje oraz code review, poza tym ludzie sami nie chcą sobie robić pod górkę. Myślę, że ten problem występuje tylko w organizacjach gdzie nie ma żadnych konwencji, ludzie są z łapanki (Outsourcing) lub gdy kod jest bardzo stary.

0

Powiem tak. Jedni mają mózg, drudzy mają muzg, a trzeci są jak Elon Musk. I trzeba z tym żyć. Ale można sobie pomagać jakoś w różny sposób (np. wspomniane narzędzia, ale można choćby odejść od kompa i przedyskutować coś z kimś, poprosić żeby ci narysował coś na kartce, albo samemu sobie narysować...)

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