Pratica di programmazione - Esiste un sito che ha una sfida giornaliera di tipo "scrivi un metodo per fare X"? [duplicare]

12

Alla ricerca di modi per aiutarmi a migliorare le mie capacità di codifica in C #. Ho pensato che sarebbe stato utile se ci fosse un sito che ti chiedesse di scrivere un nuovo metodo ogni giorno per eseguire un compito (forse anche uno per sviluppatori principianti, intermedi e avanzati). Vedere i commenti su come tutti gli hanno tirati fuori sarebbe molto utile per imparare come migliorare la tua tecnica.

Qualcuno sa qualcosa di simile? Ci deve essere qualcosa di simile nell'interweb:)

    
posta user22453 07.06.2011 - 16:50
fonte

5 risposte

12

Se ti piace la matematica, ti suggerisco Project Euler . Ogni settimana viene rilasciata una domanda, ma attualmente ci sono oltre 300 domande, quindi potresti tenerti occupato per un po 'di tempo.

    
risposta data 07.06.2011 - 16:57
fonte
8

Un sito web con cui mi diverto quando ottengo un minuto è link di Microsoft Research. Richiede di scrivere codice che causerà il superamento dei test unitari, senza che tu conosca le specifiche dei test unitari. Tutto ciò che ti dice è quali input passa e quali output devono essere forniti. È utile per migliorare le tue capacità algoritmiche, a mio parere.

Alcuni dei puzzle sono stupidi (dato che sono generati dall'utente) ma ce ne sono alcuni di buoni.

    
risposta data 07.06.2011 - 16:55
fonte
2

Presumo che tu sia non solo cercando di familiarizzare con la libreria standard. Se questo è il tuo unico obiettivo, consulta le altre risposte.

Dubito che in realtà potresti migliorare le tue capacità di codifica in C # con qualcosa del genere. C # è un linguaggio estremamente ricco di funzionalità, che rende molto più difficile decidere quali strumenti (ad esempio eventi, query LINQ, genericità covariante, parametri in-out vs. ref, ecc.) Si applicano meglio al dominio problematico. Nell'ambito di una domanda del quiz quotidiana, il problema è troppo ristretto per mettere alla prova queste abilità.

Invece, ti incoraggio a trovare un'idea di progetto interessante con una certa complessità che ti permetta di applicare tutti questi strumenti diversi.

    
risposta data 07.06.2011 - 16:58
fonte
2

Ogni volta che volevo andare vicino e personale con un nuovo linguaggio di programmazione, ho scelto un progetto che volevo sempre fare, mettere da parte un po 'di tempo per farlo e poi ho appena iniziato a farlo. E mentre andavo avanti, di solito imparavo non solo il linguaggio di programmazione, ma anche i nuovi algoritmi e i principi fondamentali del design.

Le cose più importanti sono una mente esplorativa, aperta e un approccio che ti permette di sperimentare. Se qualcosa non funziona, fai qualche passo indietro e prova qualcosa di diverso.

    
risposta data 07.06.2011 - 17:25
fonte
1

Una fonte di problemi interessanti con le soluzioni è Libri di cucina di ActiveState . Questo è particolarmente vero per Python (3300+ ricette), ma ci sono voci per diverse altre lingue.

    
risposta data 07.06.2011 - 17:32
fonte

Leggi altre domande sui tag