Come evitare il cambio di contesto durante lo sviluppo di app Web complete?

5

Per dare un po 'di contesto, sono stato un Ruby & Sviluppatore di Rails negli ultimi anni e di recente ha iniziato a fare un bel po 'di JavaScript per aggiungere più reattività alle app.

Quando si programma il back-end, è abbastanza facile (almeno per me) fare la maggior parte delle prove guidate e continuare a martellare un po 'di codice che funziona, pur essendo in grado di mettere a fuoco.

Ma ho scoperto che mentre mi sto muovendo più verso il frontend, sono costantemente in commutazione di contesto. Alcuni JavaScript sono facili da testare (modelli), ma le parti che sono direttamente collegate alla GUI sembrano semplicemente impossibili da testare automaticamente.

Questo non è tanto un affare quando inizio con la parte della GUI con dati fittizi, ma una volta che tutto viene connesso, e la GUI viene creata sulla base di dati da un'API esterna e la mia macchina sta eseguendo due app allo stesso tempo e fondamentalmente sto eseguendo il debug di entrambi, sembra proprio che io stia cambiando continuamente contesto, non potendo davvero concentrarmi su una cosa.

Un esempio potrebbe essere un server di chat Node.js che si connette a un'altra applicazione Rails tramite alcune API. Ora, se l'API fosse già stata eseguita e impostata, potrei facilmente concentrarmi solo sulla parte Node.js ... ma provando a fare tutto in un modo agile, ho appena creato l'API mentre costruisco il Node.js app, che ha un effetto collaterale sul lavoro sia su Rails che su Node (entrambi supportati da database differenti ecc.).

Se paragono questo a lavorare su una piccola libreria o solo su qualcosa di backend profondo, trovo che la mia produttività fondamentalmente inesistente, perché cambio continuamente e trovo bug in 50 posti diversi, invece di concentrarmi su uno solo.

C'è qualcosa che sto fondamentalmente facendo di sbagliato?

    
posta Jakub Arnold 17.05.2012 - 19:29
fonte

2 risposte

3

Se non vuoi cambiare contesto dovresti passare lo sviluppo GUI a qualcun altro.

Il problema che stai riscontrando è piuttosto comune se il front-end e il back-end di un sistema sono sviluppati dalla stessa persona.

Inoltre, se avessi tutte le specifiche dei requisiti, sarebbe più facile sviluppare entrambe le parti separatamente, ma ovviamente stai parlando di uno sviluppo agile.

    
risposta data 17.05.2012 - 19:53
fonte
0

Non c'è niente di sbagliato nel sedersi, pensare a cosa ti servirà, sviluppare l'API per questo, quindi sviluppare la GUI per consumare quell'API. Se trovi che la tua API è carente durante lo sviluppo, allora non hai pensato abbastanza bene al sistema generale. Potresti tornare all'API e aggiungere il bit mancante e poi tornare dove ti trovavi nello sviluppo della GUI ... ma questo è esattamente il problema. Invece, quando trovi una carenza viva con essa e lasci la GUI con un buco, quando hai abbastanza buchi poi ritorni ad aggiornare l'API (come in una seconda versione) e poi inizi a compilare le parti mancanti della GUI. Dato che hai fatto un po 'di progettazione in anticipo, i buchi dovrebbero essere minori.

Pensa all'API come a qualcosa che deve essere rilasciato prima che possa essere usato, quindi non puoi aggiornarlo a piacere, svilupperai una certa disciplina nel lavoro di progettazione.

    
risposta data 10.02.2016 - 11:50
fonte

Leggi altre domande sui tag