Come si mantengono le tue abilità di base dall'atrofia? [chiuso]


37

La codifica è solo un aspetto della programmazione professionale. Il mio lavoro mi richiede di programmare, ma richiede anche di fare altre cose per lunghi periodi, a volte passano giorni o settimane quando non sto solo scrivendo .

Temo di lasciare atrofia le capacità di programmazione conquistate a fatica mentre mi siedo in riunioni, disegno diagrammi di architettura e annoto requisiti. (Per non parlare del fatto che non mi fido delle persone per scrivere requisiti che non capiscono il codice.)

Non posso semplicemente leggere libri e riviste sulla programmazione. Sono coinvolto in alcuni progetti open source nel mio tempo libero e StackOverflow e amici mi aiutano un po ', perché ho l'opportunità di aiutare le persone a risolvere i loro problemi di programmazione senza micromanaging, ma nessuno di questi è terribilmente strutturato, quindi è allettante lavorare prima sui problemi che posso risolvere facilmente.

Immagino che mi piacerebbe trovare una serie strutturata di esercizi (non importa quale lingua o ambiente) che ...

  • ... posso fare periodicamente
  • ... ha una sorta di requisito di tempo in modo da poter dire se sono andato a letto
  • ... ha una sorta di punteggio in modo da poter dire se sto facendo errori

C'è una cosa del genere? Cosa faresti per mantenere fresche le tue abilità?


6
Su questa pila Scambia questo tipo di domande sono in realtà quelle utili. Perché chiuderlo
Edeph,

@Edeph Domande come questa sembrano inizialmente utili, ma l'esperienza ha dimostrato di avere poco valore per la comunità. Per favore leggi: Perché la mia domanda è stata chiusa come fuori tema?

3
@Snowman la cui esperienza? 25 voti positivi è un badge "Buona domanda". A questa domanda ha risposto anche uno staff StackExchange e un membro della community di alto livello. Quindi la stessa comunità ha chiaramente affermato che si tratta di una domanda preziosa. Periodo. Fuori tema? Resta da vedere, ma prezioso? Sì.
Kojiro,

1
@kojiro la domanda rimane troppo ampia e principalmente opinione. Come mostrato dalle risposte che hai, non esiste una risposta giusta. La sua gente suggerisce diversi modi che hanno funzionato per loro. Al centro, la domanda è un sondaggio. se dovesse essere riaperto, le altre risposte che otterresti sarebbero altrettanto varie senza effettivamente ottenere una risposta giusta che sia distinguibile come giusta dalle altre.

1
Quindi stai dicendo che la comunità è piuttosto guidata da un branco di mod (che sono umani e sono inclini al soggettivismo) invece delle persone che votano qualcosa perché è utile per loro anche se non ha una risposta corretta per definizione? Non tutto è in bianco e nero in questo campo, sai?
Edeph,

Risposte:


26

I kata di codice vengono subito in mente.

L'idea è che si tratta di esercizi ripetibili che puoi praticare fino a quando non li conosci freddi e li ripeti periodicamente per mantenere le costolette. Alcuni si concentrano sulla programmazione, altri sono più aperti e si concentrano sul pensiero e sul design. Possono essere eseguiti in qualsiasi lingua o ambiente e alcune persone li usano anche per provare o apprendere nuovi approcci (ad esempio, lo sviluppo guidato dai test).

Il sito a cui ho collegato sopra ha molte idee per i kata. Un altro abbastanza famoso è il Bowling Game di zio Bob Martin.


1
Eccezionale. Esercizi di Qigong per programmatori. Lo adoro!
Kojiro,

Non ne ho mai sentito parlare. Sembrano fantastici. :)

Il mio tempo di programmazione personale è sempre fortemente interrotto (3 bambini a casa). La pagina collegata indica "Hai bisogno di tempo senza interruzioni". Questo è davvero un bisogno o sarò ancora in grado di imparare abbastanza efficacemente se venissi frequentemente interrotto?
Ethel Evans,

2
@Ethel Non lo so per esperienza personale, ma penso che potresti ancora andare avanti. Essere bravi nel cambio di contesto sarebbe di aiuto. Man mano che pratichi e acquisisci familiarità con gli esercizi, immagino che gestire le interruzioni sarebbe più facile.
Adam Lear

Ora che ho fatto un po 'del codice kata, posso commentare di più. Ho una certa esperienza con le arti marziali, quindi penso che l'idea dei kata sia davvero buona, ma (almeno i primi) i kata proposti da Dave Thomas sono più simili a sollevare pesi che un tradizionale kata per arti marziali. Sono un duro lavoro, ma né ripetitivi né abbastanza meditativi per essere lo stesso tipo di esercitazione di un vero kata. Detto questo, penso che tu possa basare dei buoni kata sulle sue proposte.
Kojiro,

10

Che dire di Project Euler ?

una serie di impegnativi problemi di programmazione matematica / informatica che richiederanno molto più che semplici approfondimenti matematici per risolvere. Sebbene la matematica ti aiuti ad arrivare a metodi eleganti ed efficienti, per risolvere la maggior parte dei problemi saranno necessari l'uso di un computer e capacità di programmazione.

La motivazione per l'avvio del Progetto Euler, e la sua continuazione, è quella di fornire una piattaforma per la mente indagatrice per approfondire aree sconosciute e apprendere nuovi concetti in un contesto divertente e ricreativo ...

Il pubblico previsto include studenti per i quali il curriculum di base non alimenta la loro fame di apprendimento, adulti il ​​cui background non era principalmente la matematica, ma avevano un interesse per le cose matematiche e professionisti che vogliono mantenere il loro problem solving e matematica al limite ...


10
Secondo me questo è più matematica che programmazione.

Un buon punto: non avevo visto il codice katas nella risposta di Anna.
Martin Beckett,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.