Pułapka perfekcjonisty ?

0

Cześć, programuję zawodowo apki mobilne od roku - android i ios ( docelowo chciałem androida, ale była okazja dołączenia do projektu ios, więc stwierdziłem, że zawsze warto poznać .. wnioski takie, że jednak wolę jave i androida ). Niedługo będę szukał innej pracy z powodu niskich zarobków i tego, że już od nikogo się nic nie uczę - nie ma żadnego seniora, nie ma w większości dobrych praktyk, TDD itd.

O co chodzi w tytule tematu ? Cały czas staram się rozwijać, poznawać dobre praktyki, architekturę coraz lepszą dla apek mobilnych itd .. Mimo przeczytania po kilka razy ( może nie od deski do deski, ale niektórych książkek to chyba niewarto ) podstawowych pozycji jak biblie Horstmanna, "Clean Code", "Head First Design Patterns", "Zwinne wytwarzanie oprogramowania", cos o TDD i kilku artykułów o Clean Architecture mam cały czas wrażenie, że wiele rzeczy podstawowych nadal mi gdzieś umknęło i potem się tworzy takie trochę błędne koło, że wracam kolejny raz do tych podstawowych książek/artyukułów zamiast więcej kodzić czy sięgać po bardziej zaawansowane rzeczy. Np teraz przeczytałem znów Java. Podstawy z Javą 8 mimo, że w androidzie i tak nie będę używał wielu rzeczy bo jak wiadomo ich tam nie ma i takie potem mam reflejksje czy był w ogóle sens.

Skąd biorą mi się takie wrażenia ? Po prostu czasem kodząc i chcąc wymyśleć np. jakieś sensowne relacje między obiektami itd stoję w martwym punkcie i zastanawiam się np. czy dana klasa, jeśli wiem, że zawsze będę miał jej jeden egzemplarz powinna być singletonem, powinna udostępniać statyczne metody pomocniczne czy zrobić ją jako normalny obiekt ? I takie niby proste czasem rozkminy są katalizatorem wracania do ciągłego ogarniania podstaw. NIedawno zapoznałem się z ideą clean architecture i teraz znów ciągle szukam książek i artykułów, żeby mieć pewność, że na pewno wszystko rozumiem .. a książek i innych rzeczy do czytania i robienia się mnoży (algorytmy Cormena, AndroidRx, lepsze ogarnięcie testowania, Dagger, "Java. Efektywne programowanie", dobra książka o TDD i kilka projektów do napisania).

Mieliście w waszej karierze też takie dylematy ? Jak sobie radzić z czymś takim ? Może po prostu wyluzować i pozwolić sobie na popełnianie błędów ?

Pozdrawiam

1

Skąd biorą mi się takie wrażenia ? Po prostu czasem kodząc i chcąc wymyśleć np. jakieś sensowne relacje między obiektami itd stoję w martwym punkcie
i zastanawiam się np. czy dana klasa, jeśli wiem, że zawsze będę miał jej jeden egzemplarz powinna być singletonem,
powinna udostępniać statyczne metody pomocniczne czy zrobić ją jako normalny obiekt

Lepiej zamiast się zastanawiać to po prostu sprawdzić empirycznie. Nie bez powodu ciągle się mówi, że ważne w programowaniu jest doświadczenie. A doświadczenie nie polega na tym, że się przesiedziało przy kodzie ileś lat, a raczej na ciągłych eksperymentach. Zamiast się zastanawiać, czy coś powinno być singletonem, to zrób sobie tego singletona, i potem wyciągnij wnioski, czy było to fajne czy nie. A może pośrodku. Czasem pewne rzeczy mogą mieć zarówno zalety jak i wady. Każda decyzja niesie za sobą pewne konsekwencje, które mogą być korzystne albo nie. Czasem też od kontekstu zależy, czy warto czegoś użyć, czy nie.

No ale nie dowiesz się tego z czytania książek (tzn. dowiedzieć może i się dowiesz, ale będzie to bardzo suche, będzie to wiedza książkowa, a nie praktyczna).

Może po prostu wyluzować i pozwolić sobie na popełnianie błędów ?

Tak.

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