CodeGym /Java Blog /Random-IT /Risoluzione dei problemi. Come potenziare la tua capacità...
John Squirrels
Livello 41
San Francisco

Risoluzione dei problemi. Come potenziare la tua capacità di risolvere compiti e sfide di programmazione

Pubblicato nel gruppo Random-IT
La capacità di affrontare problemi di programmazione complessi e risolverli trovando soluzioni non ovvie, spiritose o semplicemente funzionali abbastanza rapidamente è una delle competenze fondamentali per qualsiasi sviluppatore di software, ed è spesso utilizzata per valutare il livello professionale e le capacità di un programmatore. L'approccio e la capacità di problem solving sono ciò che distingue un programmatore Senior da un Junior inesperto . E questo non è sorprendente in quanto la risoluzione dei problemi è l'abilità che sviluppi lentamente durante la tua carriera nello sviluppo di software affrontando vari tipi di problemi che inevitabilmente dovrai affrontare quando lavori in questo campo.Risoluzione dei problemi.  Come potenziare la tua capacità di risolvere compiti e sfide di programmazione - 1Migliorare nella programmazione della risoluzione dei problemi è ciò che molti sviluppatori cercano comprensibilmente, poiché questa caratteristica avrà un impatto diretto sul ritmo del tuo progresso professionale e sulla crescita della carriera da Junior Developer a Senior e più avanti nel percorso di carriera. Esistono diversi modi per migliorare nella risoluzione dei problemi. Ecco alcuni consigli e modi per aumentare di livello questa meta-abilità essenziale.

1. Assicurati di aver compreso il problema

Per cominciare, è sempre bene assicurarsi di comprendere veramente il problema. Un modo per verificare se lo capisci o no è provare a spiegarlo in termini semplici, verbalmente o per iscritto. Se non riesci a spiegare il problema, significa che non lo capisci completamente. Praticare questo ti aiuterà a vedere i difetti nella tua comprensione e a risolverli.

2. Suddividi il problema in problemi più piccoli

Dopo esserti assicurato di aver compreso il problema, sarebbe opportuno scomporlo in una serie di problemi minori che sono più facili da risolvere. Se questo metodo di approccio a problemi di ogni tipo ti è strano, forse sarebbe una buona idea familiarizzare con il pensiero computazionale , che è un insieme di metodi di risoluzione dei problemi.

3. Pianifica prima la soluzione

Un'altra buona idea sarebbe quella di sviluppare prima un piano di soluzione, invece di attaccare subito il problema. Dovresti concederti del tempo per analizzare il problema ed elaborare i dati. Quindi prova a pianificare una soluzione annotandone i passaggi.

4. Risolvere problemi di programmazione su varie piattaforme di preparazione

Anche esercitarsi su varie piattaforme di preparazione per programmatori e programmare interviste sarà davvero utile per migliorare le tue capacità di risoluzione dei problemi. Soprattutto se utilizzerai più piattaforme per diversificare il più possibile i problemi su cui stai lavorando. Ecco alcune piattaforme che puoi utilizzare:
  • CodiceLeet

    Una delle piattaforme di interviste tecniche più popolari con un'enorme comunità e oltre 1650 problemi su cui esercitarti. Supporta 14 linguaggi di programmazione incluso Java.

  • Torta intervista

    Un altro noto sito Web con tutti i tipi di contenuti per programmatori, inclusi compiti di programmazione, articoli, suggerimenti e molte domande di intervista.

  • HackerEarth

    Oltre ai problemi di programmazione, questa piattaforma ti consente di metterti alla prova in finte interviste, nonché di partecipare a gare di programmazione e hackathon.

5. Usa CodeGym per esercitarti e imparare come affrontare i problemi di programmazione

Il corso CodeGym , con il suo approccio pratico e oltre 1200 compiti di diverso tipo e difficoltà variabile, sarebbe anche un ottimo strumento sia per allenarsi a risolvere problemi pratici sia per apprendere le basi per affrontarli.

6. Gioca a giochi di programmazione per esercitarti a risolvere i problemi divertendoti

Giocare a giochi di programmazione popolari sarebbe un altro ottimo modo per allenare il tuo cervello a risolvere problemi di programmazione in un ambiente divertente ed eccitante. Questo è uno dei motivi principali per cui CodeGym contiene così tanti elementi di ludicizzazione. Alcuni altri popolari giochi di programmazione che consigliamo includono Robocode, Codewars, CodeMonkey e Elevator Saga.

7. Estendi la tua conoscenza di modelli di progettazione, algoritmi e strutture dati

Se le tue capacità di risoluzione dei problemi non sono molto impressionanti e spesso rimani bloccato nel tentativo di risolvere un problema, forse sarebbe una buona idea rafforzare le tue basi teoriche immergendoti in alcune materie relative alla programmazione come matematica, strutture di dati e algoritmi . Imparare a conoscere i modelli di progettazione sarebbe particolarmente utile in quanto ti consente di memorizzare i modelli spesso utilizzati per affrontare determinati problemi.

8. Ottieni feedback

Infine, è importante ricevere feedback da persone reali sulle tue soluzioni. Il feedback è uno dei fattori più critici nella tua crescita come sviluppatore professionista in generale, poiché ti consente di identificare e correggere i difetti nelle tue capacità e nei tuoi schemi di pensiero. A proposito, il feedback e l'interazione, come modo per aumentare i tuoi progressi, è anche il motivo per cui CodeGym ha così tante funzionalità social e incoraggia gli studenti a usarle.

Consigli degli esperti

Per concludere, ecco alcuni consigli aggiuntivi su come affrontare i problemi di programmazione da sviluppatori e programmatori esperti. “Parla con le persone: trova qualcuno che possa risolvere alcuni di quelli più difficili e vedi se capisci la soluzione e, meglio ancora, capisci come potresti aver trovato quella soluzione in primo luogo. Se utilizza un <algoritmo intelligente> che non hai mai visto prima, devi dedicare del tempo all'apprendimento di algoritmi intelligenti. Se utilizza ingredienti che conosci in modi inaspettati, osserva come il problema è stato tradotto dalla sua forma originale alla forma che cede a quegli ingredienti noti e ripeti. Dopo alcuni di questi round dovresti sentirti più a tuo agio nell'affrontare problemi difficili ", raccomandaAlon Amit, programmatore esperto e vicepresidente di Intuit. “Dovresti risolvere problemi che non pensi di poter risolvere, ma non essere troppo sicuro di te e non provare a risolvere i problemi più difficili. Dovresti cercare i problemi tramite algoritmi o tag. Quando impari un algoritmo, cerca alcuni problemi che ne hanno bisogno e risolvili usando l'algoritmo che hai appena imparato ", suggerisce Martin Kocijan, un altro veterano della programmazione. Ma non esagerare, spendere troppo tempo ed energie per risolvere problemi di programmazione potrebbe non essere molto positivo, avverteJacek Podkanski, un programmatore inglese con molti anni di esperienza nella programmazione: “Non cercare di combatterlo. Ho commesso l'errore di risolvere molti enigmi su Hackerrank. Ho smesso solo quando le persone hanno iniziato ad avvertirmi che se avessi continuato avrei seriamente danneggiato la mia occupabilità. Fermati prima che sia troppo tardi”.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION