Skip to content

Commit

Permalink
Make B024 and B027 documentation more nuanced (#11341)
Browse files Browse the repository at this point in the history
Closes #11334.
  • Loading branch information
charliermarsh authored May 8, 2024
1 parent caf0147 commit 702d2fa
Showing 1 changed file with 8 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ use crate::registry::Rule;
/// Checks for abstract classes without abstract methods.
///
/// ## Why is this bad?
/// Abstract base classes are used to define interfaces. If they have no abstract
/// methods, they are not useful.
/// Abstract base classes are used to define interfaces. If an abstract base
/// class has no abstract methods, you may have forgotten to add an abstract
/// method to the class or omitted an `@abstractmethod` decorator.
///
/// If the class is not meant to be used as an interface, it should not be an
/// abstract base class. Remove the `ABC` base class from the class definition,
/// or add an abstract method to the class.
/// If the class is _not_ meant to be used as an interface, consider removing
/// the `ABC` base class from the class definition.
///
/// ## Example
/// ```python
Expand Down Expand Up @@ -62,11 +62,9 @@ impl Violation for AbstractBaseClassWithoutAbstractMethod {
/// decorator.
///
/// ## Why is this bad?
/// Empty methods in abstract base classes without an abstract decorator are
/// indicative of unfinished code or a mistake.
///
/// Instead, add an abstract method decorated to indicate that it is abstract,
/// or implement the method.
/// Empty methods in abstract base classes without an abstract decorator may be
/// be indicative of a mistake. If the method is meant to be abstract, add an
/// `@abstractmethod` decorator to the method.
///
/// ## Example
/// ```python
Expand Down

0 comments on commit 702d2fa

Please sign in to comment.