Salut,
Voi cum practicati/invatati/exersati problem solving-u ca devs?
Eu de exemplu fac code katas pe code wars.
Salut,
Voi cum practicati/invatati/exersati problem solving-u ca devs?
Eu de exemplu fac code katas pe code wars.
Cred ca la fel cum foamea e cel mai bun bucatar, realitatea si provocarile din productie sunt cel mai bun trainer. So, real fights no katas.
Cred că până acum am evoluat inconștient din punctul ăsta de vedere.
Acum cred că procedez cam așa:
Intâi identific tipul problemei.
Dacă este din partea mea, de programare, caut aceeași problemă pe Google, să văd cum au rezolvat alții.
De obicei rezultatul e unul din astea: soluție pe SO, soluție în documentație, issue pe GitHub.
Dacă este o problemă de logică, recurg la resursele proprii. Aici e vorba de imaginație, perseverență și voință.
De la început clarific rezultatul așteptat.
Nu mă dau bătut până nu epuizez toate opțiunile.
Mă opresc totuși când realizez că efortul depus depășește miza obiectivului.
În caz de nereușită ofer alternative celor care mi-au cerut să fac treaba asta.
Apropo de rezolvarea problemelor, fiica mea spune că vrea si ea să se facă “IT-istă”.
Am petrecut câteva luni cu ea să învețe principiile de bază ale IoT și am încercat să îi arăt partea frumoasă.
Însă i-am arătat totuși că parte din muncă este și debugging, iar asta e dureros
Cea mai simpla solutie e de obicei si cea mai buna.
Exemplu Problema:
trebuie sa implementez o noua functionalitate intr-o aplicatie (eg: Gamitate)
Vechiul eu s-ar gandi la chestii super fandosite, OOP la greu, early optimization (vezi doamne ca o sa am nevoie in viitor de jdemii de functionalitati).
Noul eu face in schimb urmatoarele:
In cazul meu:
Problema
Aplicatia de la munca nu colecteaza date pentru un anumit parametru.
Problem solving
Verific daca workflow-ul a fost facut corect. Daca da, atunci imi pun logurile pe debug si ma uit in loguri dupa posibile erori pt acel workflow. De asemenea, testez si local. Nu tot timpul insa.
In 99% din cazuri, cele mai comune probleme, asa le rezolv.
Ma uit dupa orice nu ar fi la locul lui.
In cazul in care este ceva pur de cod:
Acum problem solving-ul ia timp si experienta. Sa documentezi totul. Pe viitor o sa te ajute mult.
No katas, fight like real man