Como evitar a troca de contexto durante o desenvolvimento de aplicativos da web de pilha completa?

5

Para dar algum contexto, eu sou um Ruby & Desenvolvedor Rails nos últimos anos, e recentemente comecei a fazer bastante JavaScript para adicionar mais capacidade de resposta aos aplicativos.

Ao programar o back-end, é muito fácil (pelo menos para mim), fazer a maioria das coisas testadas e apenas manter um monte de código que funcione, enquanto você pode se concentrar.

Mas eu descobri que enquanto estou me movendo mais para o frontend, estou constantemente mudando de contexto. Algum JavaScript é fácil de testar (modelos), mas as partes que estão diretamente conectadas à GUI parecem impossíveis de testar razoavelmente automaticamente.

Isso não é tão importante quando eu começo com a parte da GUI com dados fictícios, mas uma vez que tudo se conecta, e a GUI é criada com base em dados de uma API externa e minha máquina está executando dois aplicativos ao mesmo tempo e estou basicamente depurando ambos, parece que estou constantemente mudando de contexto, não sendo realmente capaz de me concentrar em uma coisa.

Um exemplo aqui pode ser um servidor de bate-papo do Node.js que se conecta a outro aplicativo Rails por meio de alguma API. Agora, se a API já estava pronta e pronta, eu poderia simplesmente focar na parte do Node.js ... mas tentando fazer a coisa toda de forma ágil, eu acabei de construir a API enquanto eu construí o Node.js app, que tem um efeito colateral no trabalho no Rails e no Node (ambos suportados por bancos de dados diferentes, etc, ...).

Se eu comparar isso com o trabalho em uma pequena biblioteca ou apenas algumas coisas de fundo, acho que minha produtividade é basicamente inexistente, porque eu constantemente alterno e encontro bugs em 50 lugares diferentes, em vez de apenas me concentrar em um.

Há algo que estou fazendo de maneira fundamental?

    
por Jakub Arnold 17.05.2012 / 19:29
fonte

2 respostas

3

Se você não quiser alternar o contexto, deve entregar o desenvolvimento de GUI a outra pessoa.

O problema que você está tendo é bastante comum se o front-end e o back-end de um sistema forem desenvolvidos pela mesma pessoa.

Além disso, se você tivesse todas as especificações de requisitos, seria mais fácil desenvolver as duas partes separadamente, mas é claro que você está falando sobre desenvolvimento ágil.

    
por 17.05.2012 / 19:53
fonte
0

Não há nada de errado em sentar-se, pensar no que você precisará, desenvolver a API para isso e desenvolver a GUI para consumir essa API. Se você achar que sua API é deficiente durante o desenvolvimento, então você não pensou sobre o sistema geral bem o suficiente. Você poderia voltar para a API e adicionar o bit que faltava e, em seguida, retornar onde estava no desenvolvimento da GUI ... mas esse é exatamente o problema. Em vez disso, quando você encontra uma deficiência e deixa a GUI com um furo, quando você tem furos suficientes, retorna para atualizar a API (como em uma segunda versão) e depois começa a preencher as partes ausentes da GUI. Como você fez alguns trabalhos de design, os furos devem ser menores.

Pense na API como algo que precisa ser liberado antes de poder ser usado, então você não pode atualizá-lo à vontade, você desenvolverá alguma disciplina no trabalho de design.

    
por 10.02.2016 / 11:50
fonte