Imparare C # e bloccato in una carreggiata [chiuso]


12

Sto imparando C # /. NET 4.0 per circa 2/3 mesi, è il mio primo linguaggio di programmazione serio (ho già esaminato PHP, HTML, CSS, JavaScript e VBA prima ma mai in modo massiccio) e sono iniziando a diventare un po 'bloccato:

  • Ho raggiunto un limite con il mio apprendimento a causa della mancanza di un "grande" progetto ...
  • La mancanza di lavorare su progetti complessi mi fa dubitare delle mie capacità ...

2 settimane fa ho avuto un colloquio per un lavoro come programmatore junior e sono riuscito a rispondere alla maggior parte delle domande a cui ho risposto, ma non ho ancora ottenuto il lavoro a causa della mancanza di esperienza pratica, non sono sicuro di cosa fare fare!

Come ho detto prima, non vorrei che contribuissi a un progetto Open Source, ma non so da dove cominciare, presumo che i progetti "grandi" vorrebbero solo buoni programmatori :(

C'è qualche forma di test di programmazione online che mi mostrerà quanto sono "buono" (o "cattivo") al momento? :)

Grazie per qualsiasi aiuto.

Risposte:


8

Vorrei chiederti a cosa sei interessato (hobby, ecc.) E quindi vedere quali progetti più grandi puoi realizzare che sono correlati a questo. Inoltre potresti dare un'occhiata al Project Euler se stai solo cercando degli esercizi, ma penso che i progetti a cui sei personalmente interessato siano migliori.


Questo è il problema, penso di non essere del tutto sicuro di dove sia la mia area preferita nella codifica. In genere, però, mi piacciono le auto / le biciclette e gli spettacoli televisivi / i film, ma molti dei progetti che ruotano attorno a questi sono già stati realizzati. Ho paura di provare anche qualcosa di estremamente complesso, La cosa più complicata che ho fatto è una cosa Umano / Mostro in XNA dove gli Umani scappano e i Mostri corrono verso, ma questo è tutto!
JuniorDeveloper1208,

4
A chi importa se è stato fatto? Quando stai imparando, è perfettamente OK reinventare la ruota. Sto lentamente costruendo un programma di galleria fotografica con database per memorizzare tag e tutti i tipi di altri metadati sulle foto. Certo, è stato fatto, ma volevo rispolverare il mio C # e sembrava un progetto divertente. Non è fatto (potrebbe non esserlo mai) e ora sto pensando di ricostruire l'interfaccia utente per insegnare a me stesso WPF. È puramente un progetto di apprendimento e se dovessi mai finire e rilasciare qualcosa rimarrò stupito! Ma ho imparato molto !!
FrustratedWithFormsDesigner

1
@toleero: L'essere umano / mostro in XNA sembra abbastanza divertente. La prossima cosa, aggiungi le armi? Richiederà importanti rilavorazioni ma ne varrà la pena. O forse iniziare con diversi tipi di mostri come veloce / lento, debole / forte, grande / piccolo ...
FrustratedWithFormsDesigner

1
@toleero: In realtà è un ottimo progetto di partenza, ci sono molte, molte direzioni in cui puoi andare.;)
FrustratedWithFormsDesigner

1
@Frustrato, @toleero: Esatto. Ho un paio di progetti che penso sempre a nuove funzionalità da aggiungere. Quello che succede è: aggiungi una piccola funzionalità e ne pensi altre 5. Man mano che continui ad aggiungerle, le tue idee migliorano, perché le tue abilità nel metterle in atto migliorano e stai pensando oltre come implementarle. Tra un anno o due guarderai indietro e penserai a quanto fossero semplici i tuoi primi progetti! Tieni presente che puoi vedere quanto sei arrivato lontano quando ci arrivi.
Michael K,

2

L'intero punto dell'open source è che la fonte è aperta e tu sei libero di fare quasi tutto quello che vuoi, ben diverso da rivendicare il tuo, e distribuirlo senza la fonte.

Trova un progetto che ti piace e che usi, ma pensi che potrebbero esserci dei miglioramenti.

Ottieni l'ultimo ramo stabile, scaricalo.

Apporta le modifiche che ritieni possano essere utili per il progetto.

Mostra ad alcune persone nella community i tuoi progressi e i tuoi miglioramenti.

Se gli piace, possono includerlo nel ramo principale.

Se non gli piace, ma pensi che sia davvero buono. Fork il progetto, imposta la tua pagina con la tua fonte, assicurati di leggere la loro licenza in modo da ottenere tutto corretto.


1

L'unico test che vale è la spedizione di un software utile, utilizzabile e robusto. Qualsiasi altra cosa è curiosità.

Suggerirei di visitare CodePlex per vedere molti progetti open source che usano C # e .NET. Qualcosa che catturerà il tuo interesse come programma o libreria che utilizzeresti effettivamente. Provalo e nota le cose che potresti cambiare per renderlo migliore.

In realtà non devi preoccuparti di essere accettato dal team di sviluppo, in quanto puoi semplicemente estrarre la base di codice e apportare le tue modifiche. Se pensi di aver trovato qualcosa di veramente prezioso, allora avvicinati al team di sviluppo.


Il mio Primo Ministro sosterrebbe che una scadenza sostituisce l'utilità / la durata in qualsiasi giorno della settimana, eh.
Brad Christie,

@Brad - Ho sentito la stessa cosa ogni martedì alle 14:00
Adam Crossland,

1

C'è qualche forma di test di programmazione online che mi mostrerà quanto sono "buono" (o "cattivo") al momento?

I risultati di tali test sono in gran parte irrilevanti. Ciò che conta è che puoi realizzare cose nella lingua in questione. Che ovviamente non puoi ancora.

Ecco il mio consiglio Stai sicuramente leggendo un libro su C #. La maggior parte dei buoni libri ha un esempio pratico che stai facendo attraverso il libro elaborandolo e rendendolo più complesso con l'avanzamento del capitolo. Comprendi questo esempio, quindi programma una piccola cosa semplice per te stesso prestando attenzione alle migliori pratiche suggerite. Dopo aver finito, avrai un po 'di fiducia nelle tue abilità e avrai anche qualcosa da sfoggiare.

Inizia a fare le cose.


Grazie, ho fatto alcune cose (alcune app WinForms, un gioco sandbox XNA e sto scrivendo un Google Stock Tracker in WPF) ma sto trovando difficoltà a rimanere con un progetto ...
JuniorDeveloper1208

1

C'è qualche forma di test di programmazione online che mi mostrerà quanto sono "buono" (o "cattivo") al momento? :)

Nessun test sarà in grado di dimostrarlo (anche se ci sono manager / personale delle risorse umane che credono fermamente nel contrario ;-). Mostra solo nella vita reale, lavorando su progetti reali, per un periodo di tempo più lungo.

Come ho detto prima, non vorrei che contribuissi a un progetto Open Source, ma non so da dove cominciare, presumo che i progetti "grandi" vorrebbero solo buoni programmatori :(

Credo che tu possa iniziare a dare piccoli contributi a molti progetti open source. Almeno credo che i test, la segnalazione di bug, il contributo alla documentazione siano sicuramente ben accetti in quanto a molti sviluppatori non piacciono questi :-) E in questo modo gradualmente puoi guadagnare reputazione e iniziare a contribuire con il codice: prima correzioni di bug, poi cambiamenti più grandi.

2 settimane fa ho avuto un colloquio per un lavoro come programmatore junior e sono riuscito a rispondere alla maggior parte delle domande a cui ho risposto, ma non ho ancora ottenuto il lavoro a causa della mancanza di esperienza pratica

Non mollare, questo è successo a molti di noi ad un certo punto. Continua ad imparare, a fare pratica e a candidarti per lavori junior e prima o poi ne otterrai uno. Una cosa che puoi e IMHO dovrebbe fare dopo le interviste è raccogliere feedback. Se hai compilato una prova scritta, non solo chiedere il tuo punteggio, ma anche la scheda dei risultati per vedere gli errori che hai fatto e imparare da loro. Analizza anche il processo del colloquio e scopri dove hai dato risposte non ottimali, hai perso un ritmo, ecc. La prossima volta puoi migliorarlo con una preparazione aggiuntiva.


Grazie, darò un'occhiata, trovo davvero difficile trovare un progetto a cui impegnarmi!
JuniorDeveloper1208,

0

Non aver mai paura della programmazione, i migliori programmatori sono quelli che hanno commesso i più grandi errori. Stupidi errori, bug complessi, contribuiscono tutti a renderti un programmatore migliore.

In bocca al lupo !!

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.