realm / realm/SwiftLint

`type_body_length` should ignore subtypes.

Open
#4,631 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Swift
Stars
19.7k
Forks
2.3k
Avg merge
1d 1h
Merged PRs (30d)
11

Description

New Issue Checklist
New rule configuration

type_body_length ought to either by default or using a configurable flag ignore sub-types.

  1. Sub-types have their length checked individually.
  2. Sub-types are a common pattern for hierarchically structuring and encapsulating code.

A type with 1 variable and 1 init small but 7 subtypes is not "giant". It is tiny. It makes no sense for it to be marked as too-long and there is no associated benefit with failing a lint on that type (in fact, it is damaging by discouraging proper encapsulation hygiene).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the type_body_length rule and its existing tests, then determine how nested subtypes are included in the parent count. Define the default or configurable behavior and verify it with regression coverage showing parent and subtype lengths separately.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.