rgmining/fraud-eagle

View on GitHub

Showing 8 of 59 total issues

File graph.py has 488 lines of code (exceeds 250 allowed). Consider refactoring.
Open

#
# graph.py
#
# Copyright (c) 2016-2023 Junpei Kawamoto
#
Severity: Minor
Found in fraud_eagle/graph.py - About 7 hrs to fix

    Function psi has a Cognitive Complexity of 24 (exceeds 5 allowed). Consider refactoring.
    Open

    def psi(u_label: UserLabel, p_label: ProductLabel, r_label: ReviewLabel, epsilon: float) -> float:
    """Likelihood of a pair of user and product.
     
    The likelihood is dependent on the review of the user gives the product.
    The review is one of {+, -}. We defined constant representing "+" and "-",
    Severity: Minor
    Found in fraud_eagle/likelihood.py - About 3 hrs to fix

    Function update has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
    Open

    def update(self) -> float:
    """Update reviewers' anomalous scores and products' summaries.
     
    For each user :math:`u`, update messages to every product :math:`p`
    the user reviews. The message function :math:`m_{u\\rightarrow p}`
    Severity: Minor
    Found in fraud_eagle/graph.py - About 2 hrs to fix

    Function add_review has 5 arguments (exceeds 4 allowed). Consider refactoring.
    Open

    def add_review(self, reviewer: Reviewer, product: Product, rating: float, *_args: Any, **_kwargs: Any) -> Review:
    Severity: Minor
    Found in fraud_eagle/graph.py - About 35 mins to fix

      Avoid too many return statements within this function.
      Open

      return epsilon
      Severity: Major
      Found in fraud_eagle/likelihood.py - About 30 mins to fix

        Avoid too many return statements within this function.
        Open

        return 2 * epsilon
        Severity: Major
        Found in fraud_eagle/likelihood.py - About 30 mins to fix

          Avoid too many return statements within this function.
          Open

          return 1 - 2 * epsilon
          Severity: Major
          Found in fraud_eagle/likelihood.py - About 30 mins to fix

            Avoid too many return statements within this function.
            Open

            return 1 - epsilon
            Severity: Major
            Found in fraud_eagle/likelihood.py - About 30 mins to fix
              Severity
              Category
              Status
              Source
              Language