Refatorando sem muita dor

Muitos desenvolvedores de nossa equipe evitam a refatoração. A discussão desta situação revelou as seguintes razões.

Por que muitos não refatoram

  • assustador quebrar a funcionalidade existente

  • demorado: se o código que você refatorar for alterado, mesclar (várias vezes) do branch principal se tornará uma dor

  • existe o risco de não chegar a tempo para o prazo da tarefa

Ao mesmo tempo, a refatoração é quase uma parte integrante do processo de desenvolvimento. Sua necessidade está associada aos seguintes pré-requisitos:

  • os requisitos iniciais quase nunca são completos e o desenvolvimento é realizado de acordo com certas suposições, algumas das quais posteriormente se revelam incorretas ou imprecisas

  • muitas vezes você precisa fazer edições rápidas para fazê-lo funcionar aqui e agora, sem considerar suporte adicional

Quando a refatoração é garantida (necessária)

Vejo os seguintes motivos para alterar a estrutura do código:

  1. código duplicado

    Existem algumas razões para ter código duplicado, na maioria das vezes, você precisa se livrar dele

  2. universalização

    Para tornar seu código mais fácil de entender e reduzir problemas operacionais, você geralmente pode criar uma abstração que combina código semelhante. É importante ter pelo menos 3 protótipos para esta abstração, caso contrário, pode não ser preciso

    , GooglePay. , ApplePay SamsungPay . VendorPay

  3. ,

  4. /

    , 50 500 ,

: , , .

  • , . , , , , . , () , .

?

, , :

  • (unit )

  • -

  • , -

feature- master' .

, , , . , , , . , , .

- (- + ) , , ( master'), - - .

, master rebase - master.

Esta abordagem incorre em alguma sobrecarga, mas atenua as principais dificuldades de refatoração:

  • revisar e mesclar refatoração não é tão assustador, porque basicamente não traz mudanças funcionais, ou essas mudanças funcionais são claramente visíveis em uma pequena solicitação de pull

  • não há necessidade de apoiar as mudanças de outros desenvolvedores porque as mudanças são mescladas no branch principal quase imediatamente

  • no caso em que os prazos são atendidos, você pode parar de refatorar após o próximo ciclo de dois a três dias




All Articles