SonarQube MAJOR CODE_SMELL: Class "User" has 21 methods, which is greater than 20 authorized. Split it into #956

Closed
opened 2026-10-02 10:59:13 -05:00 by forgejo-actions · 1 comment

SonarQube issue detected.

SonarQube key: eae83e1b-a69d-49a7-8b43-a898426e0fa1
Severity: MAJOR
Type: CODE_SMELL
Location: myvideogamelist:app/Models/User.php:19
Message: Class "User" has 21 methods, which is greater than 20 authorized. Split it into smaller classes.

https://sonarqube.linuxbox.ninja/project/issues?id=myvideogamelist&issues=eae83e1b-a69d-49a7-8b43-a898426e0fa1&open=eae83e1b-a69d-49a7-8b43-a898426e0fa1

SonarQube issue detected. **SonarQube key:** `eae83e1b-a69d-49a7-8b43-a898426e0fa1` **Severity:** `MAJOR` **Type:** `CODE_SMELL` **Location:** `myvideogamelist:app/Models/User.php:19` **Message:** Class "User" has 21 methods, which is greater than 20 authorized. Split it into smaller classes. https://sonarqube.linuxbox.ninja/project/issues?id=myvideogamelist&issues=eae83e1b-a69d-49a7-8b43-a898426e0fa1&open=eae83e1b-a69d-49a7-8b43-a898426e0fa1 <!-- sonarqube:issue:eae83e1b-a69d-49a7-8b43-a898426e0fa1 -->
Codex self-assigned this 2026-10-02 15:57:01 -05:00
Member

Extracted friendship relationships into the HasFriends model concern, reducing the methods declared in User. Friendship and profile tests pass. Implemented in PR #957. Pint and PHPStan pass; Forgejo CI and the post-merge SonarQube scan are pending. Leaving this issue open until merge.

Extracted friendship relationships into the HasFriends model concern, reducing the methods declared in User. Friendship and profile tests pass. Implemented in PR #957. Pint and PHPStan pass; Forgejo CI and the post-merge SonarQube scan are pending. Leaving this issue open until merge.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MyVideoGameList/myvideogamelist.com#956
No description provided.