Mi sono guardato intorno ultimamente, in particolare su alcuni degli strumenti MS disponibili, e sto notando un grande interesse per gli strumenti di progettazione e le procedure guidate. Non solo per lo sviluppo dell'interfaccia utente ma per tutto.
- Entity Framework ha il modellatore
- Servizi RIA ha il / i wizard / i di DomainService
- Il flusso di lavoro ha l'intero designer del workflow ... (non lo so, non l'ho davvero usato)
C'è di più, ma penso che tu abbia l'idea. Ci sono molti strumenti di design. Usando alcuni di questi trovo che:
Complicano le cose oltre i casi d'uso prescritti
(ovvero tutti i video dimostrativi della tecnologia)
Di recente ho valutato alcune di queste tecnologie, e provando a lavorare con loro, finisco per dover analizzare esattamente ciò che i progettisti, i modellatori e i maghi stanno facendo per me ... altrimenti sono perso quando devo effettivamente prova a fare qualcosa con tutto ciò che è stato creato.
Questo finisce per essere un caso in cui devo combattere lo strumento, o combattere la sua uscita in modo tale che avrei potuto fare tutto da solo senza di esso - e ho avuto una molto comprensione più strong di cosa sta succedendo. Trovo questo particolarmente esasperante con il wizard di Silverlight Designer e RIA Services Domain Service.
Mi trovo a chiedere "A che serve questo strumento se devo capire il suo funzionamento interno o riscrivere metà del suo output per usarlo?"
Non sono così veloci
Il punto di forza di questi strumenti è aumentare la produttività e questo punto può cambiare nel tempo usando lo strumento, e non si applica necessariamente ai progettisti dell'interfaccia utente (anche se, in alcuni casi, lo fa ancora - > sto guardando designer di Silverlight). Trovo che posso hackerare un po 'di codice molto più velocemente di quanto non possa trascinare, ridimensionare, spostare, qualsiasi cosa in un designer.
L'interfaccia utente interferisce con il modello
Forse sono solo io, ma quando uso qualcosa che ricorda uno strumento di progettazione UML, finisco per passare più tempo a sistemare tutto in modo che le mie linee non si incrocino e così posso vederlo tutto sullo schermo piuttosto che modellando ciò che sto cercando di ottenere.
Non sono divertenti
La metà del motivo per cui codice per vivere è che mi piace. Fare clic sulle caselle di controllo e selezionare le caselle combinate e quindi correggere tutto ciò che viene fuori non è divertente.
Non sembra che sia solo
Anche la comunità sembra non vuole questi strumenti. Il miglior esempio a cui riesco a pensare al momento è Entity Framework Code-First.
Quindi chiedo:
- Gli strumenti di progettazione in realtà migliorano la produttività?
- Sono divertenti assassini?
- La "comunità" in realtà richiede più strumenti di progettazione, oppure i venditori pensano che siamo?