This product is not supported for your selected Datadog site. ().
Metadata
ID:swift-code-style/max-class-lines
Language: Unknown
Severity: Warning
Category: Best Practices
Description
This rule states that Swift classes should not exceed 1000 lines of code (by default). The purpose of this guideline is to ensure code remains readable and maintainable. Large classes can become difficult to understand, debug, and maintain, increasing the likelihood of bugs and inefficiencies.
Following this rule promotes clean code practices and fosters efficient software development. It encourages developers to adopt modularity by breaking down complex problems into smaller, more manageable pieces.
To prevent classes from becoming too large, it is good practice to split functionality into multiple smaller classes, each with a single, well-defined responsibility. If a class is growing too complex, evaluate whether some of its functionality can be moved to a separate class. You can use inheritance or composition to help distribute responsibilities. For example, if MyClass is too large, you could create a new class, MySubClass, and let MyClass inherit from it:
The goal is to write code that is easy to read, understand, and maintain. By keeping classes concise and focused, you can improve code quality and make your software easier to work with.
Arguments
max-lines: Maximum number of lines. Default: 100.
Non-Compliant Code Examples
// This class is NOT compliant because it is >100 lines long.classPerson{varname:Stringvarage:Intvaroccupation:String?init(name:String,age:Int,occupation:String?=nil){self.name=nameself.age=ageself.occupation=occupation}funcdisplayOccupation(){print(self.age);}}
Compliant Code Examples
// This class is compliant because it is <=100 lines long.classPerson{varname:Stringvarage:Intvaroccupation:String?init(name:String,age:Int,occupation:String?=nil){self.name=nameself.age=ageself.occupation=occupation}funcdisplayOccupation(){print(self.age);}}
Seamless integrations. Try Datadog Code Security
Datadog Code Security
Try this rule and analyze your code with Datadog Code Security
How to use this rule
1
2
rulesets:- swift-code-style # Rules to enforce Unknown code style.
Create a static-analysis.datadog.yml with the content above at the root of your repository
Use our free IDE Plugins or add Code Security scans to your CI pipelines