mozilla-mobile / firefox-ios

Firefox for iOS
Mozilla Public License 2.0
12.12k stars 2.89k forks source link

Swiftlint: closure body length #16442

Open data-sync-user opened 11 months ago

data-sync-user commented 11 months ago

Add closue_body_length to swiftlint.yaml and fix warnings in project resulting from this by moving code into separate functions.

┆Issue is synchronized with this Jira Task

ionixjunior commented 3 months ago

I'd like to work on it.

adudenamedruby commented 3 months ago

@ionixjunior amazing. Assigned. :)

ionixjunior commented 3 months ago

Thank you, @adudenamedruby! I'm looking forward to it!

ionixjunior commented 2 months ago

Hello! Quick update about this issue: I've been working on adding the closure_body_length config and addressing the new violations. Initially found 49 violations, and I've resolved some of them - currently down to 29 remaining. I've been keeping my branch updated with the main branch, so everything is in sync.

Thanks for your patience.

adudenamedruby commented 2 months ago

Heya.

First of all, thanks so much for posting an update and keeping us in the loop. It really helps when people communicate well. Second, take your time. There's no rush. :)

All the best!

ionixjunior commented 2 months ago

@adudenamedruby I've created the pull request. Please let me know if you need anything or if there are any changes I should make.

ionixjunior commented 1 month ago

After feedback from @adudenamedruby, we decided to close my big pull request, and split this work in smaller pull requests. My initial plan is to create one pull request per file changed. In the table below, I've listed all the files, and I'll update the status column to track the progress of this task.

File Status
BrowserKit/Sources/SiteImageView/ImageProcessing/SiteImageFetcher/SiteImageDownloader.swift
Account/FxAPushMessageHandler.swift
Client/Application/UITestAppDelegate.swift
Client/ContentBlocker/ContentBlocker.swift
Client/Experiments/Experiments.swift
Client/Frontend/Autofill/Address/AddressAutofillToggle.swift
Client/Frontend/Autofill/Address/AddressListView.swift
Client/Frontend/Autofill/Address/Edit/EditAddressViewController.swift
Client/Frontend/Autofill/CreditCard/CreditCardSettingsView/CreditCardInputView.swift
Client/Frontend/Autofill/CreditCard/CreditCardSettingsView/CreditCardItemRow.swift
Client/Frontend/Autofill/CreditCard/CreditCardSettingsView/CreditCardSettingsEmptyView.swift
Client/Frontend/Browser/Authenticator.swift
Client/Frontend/Browser/BrowserViewController/Actions/ActionProviderBuilder.swift
Client/Frontend/Browser/BrowserViewController/Extensions/BrowserViewController+WebViewDelegates.swift
Client/Frontend/Browser/BrowserViewController/Views/BrowserViewController.swift
Client/Frontend/Browser/SearchLoader.swift
Client/Frontend/Browser/SearchSuggestClient.swift
Client/Frontend/Browser/Tabs/Legacy/LegacyTabPeekPreviewActionBuilder.swift
Client/Frontend/Browser/Tabs/Legacy/LegacyTabPeekViewController.swift
Client/Frontend/Browser/Toolbars/Redux/AddressBarState.swift
Client/Frontend/Browser/Toolbars/Redux/NavigationBarState.swift
Client/Frontend/Browser/Toolbars/Redux/ToolbarState.swift
Client/Frontend/Fakespot/FakespotState.swift
Client/Frontend/Library/HistoryPanel/HistoryPanel.swift
Client/Frontend/Library/Reader/ReaderPanel.swift
Client/Frontend/Library/Reader/ReaderPanelEmptyStateView.swift
Client/Frontend/Microsurvey/Prompt/MicrosurveyPromptState.swift
Client/Frontend/Reader/ReaderModeHandlers.swift
Client/Frontend/Settings/ContentBlockerSettingViewController.swift
Client/Frontend/Settings/ThemeSettings/ThemeSettingsState.swift
Client/Frontend/TabContentsScripts/UserScriptManager.swift
Providers/RustSyncManager.swift
Storage/Rust/RustAutofill.swift
Storage/Rust/RustLogins.swift
WidgetKit/ImageButtonWithLabel.swift
WidgetKit/OpenTabs/OpenTabsWidget.swift
WidgetKit/TopSites/TopSitesWidget.swift
firefox-ios-tests/Tests/StorageTests/RustAutofillTests.swift
firefox-ios-tests/Tests/XCUITests/FxScreenGraph.swift
.swiftlint.yml
ionixjunior commented 1 month ago

@adudenamedruby I sent the first PR focusing on improvements to the first file. It might be a bit large, but this is an exception. The other cases will be easier to review. Let me know if I need to change anything or split it into smaller chunks.

adudenamedruby commented 3 weeks ago

This remains in progress, @OrlaM . There’s still instances of this in the code, and it cannot yet be closed as it's not yet in swiftlint.yaml. @ionixjunior continues the awesome work of bringing us closer to getting this done.

data-sync-user commented 1 week ago

➤ Matt Reagan commented:

Internal refactor, no QA needed