Quando si utilizza Visual Studio 2012 è necessario utilizzare il sistema di trascinamento della selezione? [duplicare]

-3

Sono fluente nella maggior parte di Java e ho pensato di passare a un linguaggio .Net. Ovviamente C # e Java sono molto simili, quindi ho scelto di imparare C #. Durante la programmazione in Java, utilizzerei sempre Eclipse come IDE, che non dispone di un sistema Drag and Drop per la creazione dell'interfaccia utente. Ho notato, tuttavia, che Visual Studio fa per tutti i linguaggi .Net. Mi piace mantenere pulito il mio codice e formattarlo da solo e non mi piace come Visual Studio lo formatta. Ho cercato tutorial su come programmare la GUI invece di usare Drag and drop ma non riesco a trovare alcun tutorial. Qualsiasi aiuto? Devo usare il sistema Drag and Drop. (Con "il sistema di trascinamento della selezione" intendevo per lui creare un creatore.)

    
posta Harry Kitchener 06.08.2014 - 16:44
fonte

1 risposta

6

I generatori di codice aumentano la produttività ...

I generatori di codice disponibili in Visual Studio sono qui per semplificarti la vita. Questo include quello che genera il codice per Windows Form.

Uno strumento grafico del genere è particolarmente utile quando è necessario comunicare che questo pulsante è grande e posizionato qui, mentre quello è piccolo e si trova proprio in questo angolo, ma non troppo vicino al bordo : dover posizionare gli elementi attraverso il codice sarebbe molto più difficile. Se non sei convinto, prova a fare entrambe le tecniche mentre sei seduto vicino a uno stakeholder o a un designer che prende effettivamente delle decisioni sull'aspetto di un modulo; ciò che sarebbe più produttivo: per avere un feedback visivo immediato dopo ogni modifica, o di dover ricompilare e rieseguire l'applicazione ogni volta, cercando di indovinare se "abbastanza vicino al confine" dovrebbe essere 11, 12, 13, 14 o 15 pixels?

... quindi sii produttivo

Come programmatore o sviluppatore, ci si aspetta che tu scriva codice pulito quando è vantaggioso per il progetto. Seguire il dogma del codice pulito in ogni caso ti rende improduttivo: in altre parole, diventi un peso per il progetto.

Il tuo compito è determinare esattamente dove è importante il codice pulito e dove a nessuno potrebbe importare di meno.

Un codice business-critical che verrà letto migliaia di volte da te e dai tuoi colleghi per un periodo di dieci anni e frequentemente modificato ha tutte le ragioni per essere il più pulito possibile. D'altra parte, il codice boilerplate nessuno read non deve essere ben commentato o ben rientrato.

I generatori di codice hanno anche un vantaggio rispetto a un essere umano: le macchine hanno meno possibilità di introdurre un bug sottile. Indovina quanti bug ho trovato nel codice prodotto dai generatori di codice negli ultimi cinque anni? Zero. D'altra parte, quando i compiti ripetitivi e monotoni sono eseguiti dall'uomo, gli errori hanno un grande rischio di essere introdotti. Un bug a questo livello ridurrebbe solo la tua produttività.

Nota a margine: come recruiter, probabilmente rifiuterò una candidatura di un programmatore .NET WinForms che afferma di non utilizzare il generatore di codice WinForms perché preferisce scrivere codice pulito a mano. Mentre io favorisco le persone che sono in grado di scrivere codice pulito, non ho bisogno di una persona che sta sprecando i miei soldi digitando a mano codice boilerplate.

I generatori di codice non producono necessariamente un codice brutto ...

Parlando di codice pulito, il codice Windows Forms non è il più brutto. Si potrebbe certamente essere meglio (e almeno essere conforme alle linee guida dello stile ufficiali vigenti attraverso StyleCop e le raccomandazioni ufficiali vigenti attraverso l'analisi di codice), ma in tutti i casi, l'utilizzo di classi parziali con due SuppressMessage e GeneratedCode in modo simile a questo esempio rende possibile abstract completamente questa parte del codice e impedire che la deposizione delle uova avvertimenti inutili durante il controllo statico.

... ma non tutti i generatori di codice sono uguali

Il generatore di codice per ASP.NET (WebForms) è una bestia molto diversa. Non è particolarmente utile: a meno che un programmatore non conosca l'HTML, sarà altrettanto efficiente (se non di più) scrivendo direttamente il codice. La mia raccomandazione è di non usare mai questo generatore di codice.

Il generatore di codice per WPF è molto utile quando non si conoscono i nomi esatti. D'altra parte, spesso produce codice che è molto più complicato di quanto dovrebbe essere. La mia raccomandazione è di usare questo generatore di codice in modo selettivo e provare a scrivere la maggior parte del codice XAML a mano¹.

Il generatore di codice per LINQ to SQL e per Entity Framework è un must. Non è necessario scrivere a mano il codice boilerplate. T4 è una funzione eccellente che riduce ancora di più la necessità di scrivere codice ripetitivo.

Conclusione

Detto questo, nulla ti obbliga a usare quei generatori di codice. Puoi creare un modulo direttamente nel codice, anche tramite Visual Studio.

¹ Ho usato solo WPF in Visual Studio 2010. Le cose potrebbero essere cambiate da allora, e se ricordo bene, le prossime versioni di Visual Studio sono state pubblicizzate per avere un editor WPF molto migliore.

    
risposta data 06.08.2014 - 17:24
fonte

Leggi altre domande sui tag