代码拉取完成,页面将自动刷新
excluded:
- internal
- samples
- testing
- Package.swift
cyclomatic_complexity: 11
file_header:
required_string:
"/*\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n * All rights reserved.\n *\n * This source code is
licensed under the license found in the\n * LICENSE file in the root directory of this source tree.\n */"
identifier_name:
max_length: 56 # default 40
excluded: [ui, EU, id, to]
large_tuple: 3
line_length:
warning: 120
ignores_comments: true
ignores_urls: true
ignores_interpolated_strings: true
nesting:
type_level: 2
private_outlet:
allow_private_set: true
file_name:
excluded: [
Enums+Extensions.swift,
BridgeAPI+ApplicationOpenUrlTests.swift,
BridgeAPI+SessionCompletionHandlerTests.swift,
ShareAppEventNames.swift,
ShareAppEventParameters.swift,
ShareDialogMode.swift,
LoginAppEventNames.swift,
FBSDKAppEventConversionsAPITransformer.swift,
AppLinkNavigationTestDependencies.swift,
ValueClamping.swift,
]
trailing_comma:
mandatory_comma: true
type_name:
excluded: [RawAppEventsConfigurationResponseFixtures, GraphRequestPiggybackManagerProviderTests]
allowed_symbols: "_"
# Use 10x the defaults for these to essentially disable these rules
type_body_length:
warning: 2000 # default 200
error: 3500 # default 350
file_length:
warning: 4000 # default 400
error: 10000 # default 1000
function_body_length:
warning: 400 # default 40
error: 1000 # default 100
# Xcode fixits insert these as "public override" vs "override public" so overriding Swiftlint's defaullt of "override, acl, ..." to "acl, override, ..."
modifier_order:
preferred_modifier_order:
[acl, override, setterACL, dynamic, mutators, lazy, final, required, convenience, typeMethods, owned]
custom_rules:
blank_line_after_single_line_guard:
regex: "guard [^\n]*? else \\{ return (:?\\w+ )?\\}\n[^\n]"
message: "Prefer a blank line after a guard with a return."
objc_members_above_objc:
regex: "@objc[^\n]*?\n@objcMembers"
message: "Place @objcMembers above @objc"
objc_used_without_importing_foundation:
regex: "LICENSE file in the root directory of this source tree.\n \\*/\n+@objc"
message: "@objc attribute used without importing module 'Foundation'"
swiftlint_disable_without_this_or_next:
regex: "// swiftlint:disable (?!implicitly_unwrapped_optional|force_unwrapping)"
message: "Prefer using swiftlint:disable:this or swiftlint:disable:next over swiftlint:disable"
one_let_per_line:
regex: " let [^\n]*?, let "
message: "Place each let statement and condition on its own line"
test_classes_should_be_final:
regex: "(?<!final )class.*XCTestCase\\b"
message: "Make test classes final"
prefer_final_classes:
regex: "(?<!(?:final|open) )class (?!func|var)[^\n]*\\{"
message: "Most classes should be declared as final even when not declared as open"
only_rules:
- array_init
- block_based_kvo
- class_delegate_protocol
- closing_brace
- closure_end_indentation
- closure_parameter_position
- closure_spacing
- collection_alignment
- colon
- comma
- comment_spacing
- compiler_protocol_init
- computed_accessors_order
- contains_over_filter_is_empty
- contains_over_first_not_nil
- control_statement
- convenience_type
- custom_rules
- cyclomatic_complexity
- deployment_target
- discarded_notification_center_observer
- discouraged_direct_init
- discouraged_optional_boolean
- duplicate_enum_cases
- duplicate_imports
- dynamic_inline
- empty_count
- empty_enum_arguments
- empty_parameters
- empty_parentheses_with_trailing_closure
- empty_string
- empty_xctest_method
- explicit_init
- fallthrough
- fatal_error_message
- file_header
- file_length
- file_name
- first_where
- for_where
- force_cast
- force_try
- force_unwrapping
- function_body_length
- function_parameter_count
- generic_type_name
- identifier_name
- implicit_getter
- implicit_return
- implicitly_unwrapped_optional
- inclusive_language
- inert_defer
- is_disjoint
- joined_default_parameter
- large_tuple
- leading_whitespace
- legacy_cggeometry_functions
- legacy_constant
- legacy_constructor
- legacy_hashing
- legacy_nsgeometry_functions
- let_var_whitespace
- line_length
- literal_expression_end_indentation
- lower_acl_than_parent
- mark
- modifier_order
- multiline_arguments
- multiline_function_chains
- multiline_literal_brackets
- multiline_parameters
- multiline_parameters_brackets
- multiple_closures_with_trailing_closure
- nesting
- nimble_operator
- no_fallthrough_only
- no_space_in_method_call
- notification_center_detachment
- nsobject_prefer_isequal
- opening_brace
- operator_usage_whitespace
- operator_whitespace
- orphaned_doc_comment
- overridden_super_call
- override_in_extension
- pattern_matching_keywords
# - prefer_self_in_static_references # prevent "'prefer_self_in_static_references' is not a valid rule identifier" warning in older version of swiftlint
- private_action
- private_outlet
- private_over_fileprivate
- private_unit_test
- prohibited_super_call
- protocol_property_accessors_order
- quick_discouraged_call
- quick_discouraged_focused_test
- quick_discouraged_pending_test
- reduce_boolean
- redundant_discardable_let
- redundant_nil_coalescing
- redundant_objc_attribute
- redundant_optional_initialization
- redundant_set_access_control
- redundant_string_enum_value
- redundant_type_annotation
- redundant_void_return
- required_enum_case
- return_arrow_whitespace
- shorthand_operator
- single_test_class
- sorted_first_last
- sorted_imports
- statement_position
- superfluous_disable_command
- switch_case_alignment
- syntactic_sugar
- trailing_closure
- trailing_comma
- trailing_newline
- trailing_semicolon
- trailing_whitespace
- type_body_length
- type_name
- unavailable_function
- unneeded_break_in_switch
- unneeded_parentheses_in_closure_argument
- untyped_error_in_catch
- unused_capture_list
- unused_closure_parameter
- unused_control_flow_label
- unused_enumerated
- unused_optional_binding
- unused_setter_value
- valid_ibinspectable
- vertical_parameter_alignment
- vertical_parameter_alignment_on_call
- vertical_whitespace
- vertical_whitespace_closing_braces
- void_return
- xct_specific_matcher
- xctfail_message
- yoda_condition
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。