Refactor jbake#804
Open
NatanHugo2004 wants to merge 10 commits into
Open
Conversation
Contributor
|
Would you mind changeing the language to English to allow more people to read your PR? :) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mudanças Realizadas:
Classe Crawler
Na classe Crawler, o método Crawler foi modificado para ter sua complexidade ciclomática e cognitiva simplificada.
Antes
Depois
Classe AssciidoctorEngine
Na classe AssciidoctorEngine o método processHeader foi modificado para realizar operações mais atômicas, tendo em vista que ele fazia suscetivas operaões. sua lógica foi quebrada em métodos menores.
Antes
Depois
Classe Init
O método Run da classe Init foi modificado para reduzir o número desnecessários de ifs alinhados.
Antes
Depois
Classe Content Store
A classe Content Store estava sendo qualificada como god class pelas métricas, a refatoração criou uma nova classe Schema Manager para ser responsável por algumas das operações da Content Store. As métricas ainda apontam Content Store como God Class, mas o problema foi reduzido significativamente.
Antes (Métodos Presentes em Content Store que Foram Retirados)
Depois (Nova Classe Schema Manager)
Classe Renderer
A classe Renderer utilizava uma lógica de looping perigosa que mexia com variáveis de contagem do próprio loop, a lógica do for foi alterada.
Antes
Depois