Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Utilizar uma lista de field é ineficiente #33

Open
rodrigondec opened this issue May 15, 2020 · 0 comments
Open

Utilizar uma lista de field é ineficiente #33

rodrigondec opened this issue May 15, 2020 · 0 comments
Labels
Prioridade: Baixa Uma issue que pode ser um bom primeiro contato para contribuir Status: Pronto para implementar Essa issue já possui todos os detalhes técnicos necessários para ser feita. Tipo: Performance Essa issue/PR está relacionado a melhorias de performance. Tipo: Refatoração Uma mudança que não é nem uma correção nem uma funcionalidade

Comments

@rodrigondec
Copy link
Member

rodrigondec commented May 15, 2020

Resumo

todas as funções fazem um for field in fields com o intuito de substituir com base em algun field.identifier.

Sugestão

pode ser armazenado em um dicionário tal como:

fields = {
    'identifier': Field()
}

Dessa forma podemos manter a portabilidade de listagem de fields utilizando fields.values() e alterar nas funções 'pontuais' que precisam de um acesso O(1).

Dores

o miolo possuem identifier duplicados. Utilizar um simples dict não funciona.

Usar uma classe?

Uma estrutura mais completa?

@rodrigondec rodrigondec added Status: Pronto para implementar Essa issue já possui todos os detalhes técnicos necessários para ser feita. Tipo: Refatoração Uma mudança que não é nem uma correção nem uma funcionalidade Tipo: Performance Essa issue/PR está relacionado a melhorias de performance. Prioridade: Baixa Uma issue que pode ser um bom primeiro contato para contribuir labels May 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Prioridade: Baixa Uma issue que pode ser um bom primeiro contato para contribuir Status: Pronto para implementar Essa issue já possui todos os detalhes técnicos necessários para ser feita. Tipo: Performance Essa issue/PR está relacionado a melhorias de performance. Tipo: Refatoração Uma mudança que não é nem uma correção nem uma funcionalidade
Projects
None yet
Development

No branches or pull requests

1 participant