django/django

View on GitHub
django/apps/registry.py

Summary

Maintainability
B
6 hrs
Test Coverage

File registry.py has 294 lines of code (exceeds 250 allowed). Consider refactoring.
Open

import functools
import sys
import threading
import warnings
from collections import Counter, defaultdict
Severity: Minor
Found in django/apps/registry.py - About 3 hrs to fix

    Function populate has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
    Open

        def populate(self, installed_apps=None):
            """
            Load application configurations and models.
    
            Import each application module and then each model module.
    Severity: Minor
    Found in django/apps/registry.py - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function get_containing_app_config has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
    Open

        def get_containing_app_config(self, object_name):
            """
            Look for an app config containing a given object.
    
            object_name is the dotted Python path to the object.
    Severity: Minor
    Found in django/apps/registry.py - About 45 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function get_app_config has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

        def get_app_config(self, app_label):
            """
            Import applications and returns an app config for the given label.
    
            Raise LookupError if no application exists with this label.
    Severity: Minor
    Found in django/apps/registry.py - About 25 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function get_swappable_settings_name has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

        def get_swappable_settings_name(self, to_string):
            """
            For a given model string (e.g. "auth.User"), return the name of the
            corresponding settings name if it refers to a swappable model. If the
            referred model is not swappable, return None.
    Severity: Minor
    Found in django/apps/registry.py - About 25 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function clear_cache has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

        def clear_cache(self):
            """
            Clear all internal caches, for methods that alter the app registry.
    
            This is mostly used in tests.
    Severity: Minor
    Found in django/apps/registry.py - About 25 mins to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    There are no issues that match your filters.

    Category
    Status