gabriel-guelfi/acmevita

Escolhas técnicas

Closed this issue · 2 comments

Boa tarde Gabriel, tudo bem?

Queria entender algumas escolhas técnicas feitas nesse trecho.

from .services.departmentservice import DepartmentService
service = DepartmentService
return jsonify(service.listDepartments())

  1. Por que realizar o import no escopo da função?
  2. Por que criar uma variável temporária service para receber a classe DepartmentService?

Obrigado!

Bom dia, Rafael! Tudo certo?

Vamos lá:

  1. Realizei o import dentro das funções para que o sistema importe apenas os recursos necessários para aquele ciclo de request/response que está acessando a rota. Se tem uma solução melhor pra isso, poderia me mostrar, por gentileza?

  2. Pelo hábito que peguei de outras linguagens, de salvar a instância de uma classe em uma variável para poder manipulá-la, mas aqui neste contexto, realmente não faz nenhum sentido. Alterei e ficou desta forma:

    @app.route("/department")
    def listDepartments():
    """
    This function retrieves a list of departments from
    Department Service, then returns this list serialized.
    """
    from .services.departmentservice import DepartmentService
    return jsonify(DepartmentService.listDepartments())

Perfeito Gabriel,

Obrigado!