#36103: Simplify get_namespace() and adjust get_and_report_namespace() method
signature
-------------------------------------+-------------------------------------
     Reporter:  Salvo Polizzi        |                    Owner:  Salvo
         Type:                       |  Polizzi
  Cleanup/optimization               |                   Status:  assigned
    Component:  Core (Management     |                  Version:  dev
  commands)                          |
     Severity:  Normal               |               Resolution:
     Keywords:                       |             Triage Stage:
                                     |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Description changed by Salvo Polizzi:

Old description:

> Following the discussion in [https://github.com/django/django/pull/18158
> PR], we propose the following improvements to enhance readability and
> reduce confusion:
> 1. Simplify `get_namespace()`:
>    - The current implementation of get_namespace() can be rewritten as a
> one-liner for better readability without changing its functionality.
>    - Example:
>      {{{
> #current
> def get_namespace(self):
>         apps_models = apps.get_models()
>         namespace = {}
>         for model in reversed(apps_models):
>             if model.__module__:
>                 namespace[model.__name__] = model
>         return namespace
>
> #proposed
> def get_namespace():
>         return {m.__name__: m for m in reversed(apps.get_models()) if
> m.__module__}
> }}}
>
> 2. Update `get_and_report_namespace()`:
>      - The `no_imports` parameter in the method signature can be
> misleading and cause confusion for its users.
>      - Proposed Change: Remove the `no_imports` parameter from the method
> and instead handle its logic in the relevant runners where the
>        namespace is imported.
>      - Justification: This improves separation of concerns and makes the
> method more focused.

New description:

 Following the last discussion in
 [https://github.com/django/django/pull/18158 PR], we propose the following
 improvements to enhance readability and reduce confusion:
 1. Simplify `get_namespace()`:
    - The current implementation of get_namespace() can be rewritten as a
 one-liner for better readability without changing its functionality.
    - Example:
      {{{
 #current
 def get_namespace(self):
         apps_models = apps.get_models()
         namespace = {}
         for model in reversed(apps_models):
             if model.__module__:
                 namespace[model.__name__] = model
         return namespace

 #proposed
 def get_namespace():
         return {m.__name__: m for m in reversed(apps.get_models()) if
 m.__module__}
 }}}

 2. Update `get_and_report_namespace()`:
      - The `no_imports` parameter in the method signature can be
 misleading and cause confusion for its users.
      - Proposed Change: Remove the `no_imports` parameter from the method
 and instead handle its logic in the relevant runners where the
        namespace is imported.
      - Justification: This improves separation of concerns and makes the
 method more focused.

--
-- 
Ticket URL: <https://code.djangoproject.com/ticket/36103#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/django-updates/010701946dfb46ac-21c3741b-fbf1-42ca-82aa-5e33ec11138b-000000%40eu-central-1.amazonses.com.

Reply via email to