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:
código duplicado
Existem algumas razões para ter código duplicado, na maioria das vezes, você precisa se livrar dele
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
,
/
, 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