Domanda

Di recente ho lavorato con Python usando Komodo Edit e altri editor più semplici, ma ora sto realizzando un progetto che deve essere realizzato in C # usando VS 08. Gradirei qualsiasi suggerimento su come ottenere produttività su quella piattaforma il più rapidamente possibile il più possibile.

È stato utile?

Soluzione

Per quanto riguarda la conoscenza di C #, consiglio vivamente Programmazione C # e C # in profondità .

Per Visual Studio, inizia a frugare molto nell'IDE, gioca e familiarizza con esso. Inizia con progetti semplici ed esplora tutti i diversi aspetti. Scopri come ottimizzare Visual Studio e familiarizzare con alcuni dei fantastici scorciatoie da tastiera / funzioni nascoste dell'IDE.

Sicuramente esegui almeno una volta ciascuna delle seguenti operazioni:

Progetti:

  • Crea una semplice applicazione console (ad es. ciao mondo)
  • Crea una libreria di classi (.dll gestita) e usala da un'altra applicazione che crei
  • Crea una semplice applicazione Windows
  • Crea una semplice app web asp.net

Debug:

  • Debug di un'app della riga di comando
  • Familiarizzare con: punti di interruzione, gente del posto e finestre di controllo, oltrepassare, entrare, uscire, continuare, interrompere il debug
  • Crea un'app da riga di comando che utilizza una funzione in una libreria di classi. Memorizza il file DLL e simboli (.pdb) per la libreria ma elimina il codice sorgente, esegui il debug tramite l'app mentre entra nella libreria
  • Debug in un servizio web
  • Scopri come usare ILDasm e ILAsm

Riga di comando:

  • Acquisisci familiarità con l'ambiente della riga di comando di Visual Studio
  • Crea utilizzando solo la riga di comando
  • Debug dalla riga di comando utilizzando devenv.exe / debugexe
  • Usa ILDasm / ILAsm dalla riga di comando per disassemblare una semplice app in .IL, riassembla in un file con un nome diverso, prova per vedere che funziona ancora

Test:

  • Crea test unitari (fai clic con il tasto destro del mouse su un metodo, seleziona l'opzione per creare un test)
  • Scopri come: eseguire tutti i test unitari, eseguire tutti i test unitari nel debugger, rieseguire test unitari non riusciti, vedere i dettagli sugli errori di test, eseguire un sottoinsieme di test unitari
  • Scopri come raccogliere le statistiche sulla copertura del codice per i tuoi test

Controllo del codice sorgente:

  • Scopri come interagire con il tuo sistema di controllo del codice preferito durante lo sviluppo usando VS

Refactoring et al:

  • Acquisisci familiarità con tutti i refactoring integrati (in particolare il metodo di rinomina ed estrazione)
  • Utilizza " Vai a definizione "
  • Utilizza " Trova tutti i riferimenti "
  • Usa " Trova nei file " (Ctrl-Shift-F)

IDE & amp; Scorciatoie da tastiera:

  • Scopri come usare bene il designer per il web e le forme di win
  • Familiarità con la finestra Esplora soluzioni
  • Sperimenta con diversi layout di finestre fino a quando non trovi quello che ritieni più comodo, continua a sperimentare in seguito per vedere se è ancora la scelta migliore
  • Impara i dettagli di intellisense, usalo a tuo vantaggio il più possibile
  • Impara la scorciatoia da tastiera per tutto ciò che fai

Altri suggerimenti

Mi concentrerei personalmente sull'apprendimento delle parti principali di C # e .NET prima. Per me, ciò significherebbe scrivere app per console (piuttosto che Windows Form) per sperimentare il linguaggio e aspetti importanti come l'IO. Quando sei soddisfatto delle basi, passa a qualunque "periferica" tecnologia (WinForms, WPF, ASP.NET, WCF ecc.) necessaria per il tuo progetto.

In termini di libri, posso consigliare entrambi C # 3.0 in breve e C # 2008 accelerato . I collegamenti sono alle mie recensioni dei libri. Entrambi coprono il linguaggio + librerie di base.  Non mi preoccuperei troppo di LINQ per cominciare: mettiti comodo con il resto della lingua, in particolare delegati e generici, prima di affrontare LINQ. A quel punto, raccomanderei accuratamente di giocare con LINQ to Objects per un po 'di tempo prima di iniziare a usare LINQ to SQL o Entity Framework. (D'altra parte, se hai bisogno di usare XML, andrei direttamente a LINQ to XML: è un'intera API XML, non solo un provider LINQ. È molto più bello della normale API DOM.)

  

Gradirei qualche suggerimento su come   diventare produttivi su quella piattaforma come   il più rapidamente possibile.

Esperienza pratica amico mio. Inizia usandolo il prima possibile per essere produttivo il prima possibile .

Alcuni ovvi consigli sono:

  • crea scorciatoie \ macro \ modelli per azioni frequenti. Forza tu stesso usa le scorciatoie invece di fare clic sui menu
  • installa ReSharper - in ti darà un aumento della produttività del 1000% (se hai un paio di dollari per acquistarlo)

E non esitare a consultare manual da tempo al momento :)

Scegli un progetto Python che hai completato in passato e convertilo manualmente in C #. Questo è il modo in cui ho imparato ogni lingua che conosco attualmente (ad eccezione dell'assembly x86).

Prendi in considerazione l'utilizzo di IronPython per colmare il divario: puoi fare riferimento a assembly .NET tramite IronPython, nonché creare assembly .NET come riferimento da C #.

Inoltre, stai molto lontano da quei libri Impara C # in 21 giorni! ... Non sono quasi mai all'altezza dell'hype e in genere sono più dannosi di buona.

Ottieni un libro eccellente e inizia a leggere. Ho Pro C # 2008 e la piattaforma .NET 3.5 .

Dato che hai un progetto su cui lavorare, anche questo dovrebbe essere di grande aiuto.

Guardo il passaggio da Python a C # come un passo in giù nella scala evolutiva. Aspettati un'esperienza molto più dettagliata (ad es. Dichiarazioni di variabili e proprietà della classe).

Tieni d'occhio IronPython - ti aiuterà ad avere la sensazione di .NET usando un linguaggio familiare. La natura dinamica di Python rende il controllo del comportamento di .NET molto più veloce del controllo delle idee in C #. Puoi utilizzare IronPython direttamente da Visual Studio con IronPython Studio .

Transizione da Python a C #

Di solito impari la lingua successiva confrontando le sue caratteristiche con le lingue che già conosci. Dato che hai familiarità con Python, leggi alcuni confronti di Python / C # come " La prospettiva di un programmatore Python su C # " e " C # 3.0 batte le lingue dinamiche al loro stesso gioco? " . Il delta tra C # 3.5 e Python non è così grande.

Realizza piccoli mini progetti. Un po 'della parte superiore della mia testa.

1) Hello world
2) Console
3) GUI     design
4) Progetto giocattolo

Ti faranno conoscere più velocemente rispetto alla lettura di un tutorial. Prendi una birra e divertiti.

Microsoft ha una buona piattaforma di apprendimento per questo:

http://msdn.microsoft.com/en-us/vcsharp /aa336766.aspx

Consiglio di dare un'occhiata a " Come posso " serie di video.

Lo considererei dipendente da alcune cose. Ad esempio, usi la tastiera più del mouse? In tal caso, imparerei le scorciatoie VS. Conosci C # affatto? Leggi alcuni libri. So che questo è vago, ma è una domanda piuttosto vaga.

Pratica, pratica, pratica, guadagna esperienza, diventa produttiva.

Per ogni strumento, sistema, lingua o qualsiasi altra cosa, il modo più rapido per diventare produttivi è (almeno per me) comprendere lo sfondo piuttosto che partire da un mondo di ciao seguito da un inciampo da un comando al successivo che pensi di pensare hanno bisogno.

Quindi acquista un buon libro (ad es. Microsoft Press) o vai a Microsoft MSDN e Technet e leggi il più possibile le cose in background. Informazioni dettagliate (sul libro o su Internet) possono essere consultate in seguito.

Inoltre, per aumentare la produttività, iscriviti a mailing list, IRC, gruppi di utenti, ecc. per conoscere ogni giorno i problemi degli altri, usando lo stesso strumento, sistema, lingua, qualunque cosa.

Quindi - dopo una settimana o due - inizia la programmazione.

Lo so, non è quello che si vuole fare quando si inizia con una nuova lingua. Ma per me, questo approccio funziona meglio, negli ultimi anni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top