Last active
February 20, 2022 20:22
-
-
Save shsw228/a1af4698fca562db3fba1fe560286488 to your computer and use it in GitHub Desktop.
swiftlintのデフォルトルール
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# document: https://github.com/realm/SwiftLint | |
# デフォルト有効で任意に無効化 | |
disabled_rules: | |
# - block_based_kvo | |
# - class_delegate_protocol | |
# - closing_brace | |
# - closure_parameter_position | |
# - colon | |
# - comma | |
# - comment_spacing | |
# - compiler_protocol_init | |
# - computed_accessors_order | |
# - control_statement | |
# - custom_rules | |
# - cyclomatic_complexity | |
# - deployment_target | |
# - discouraged_direct_init | |
# - duplicate_enum_cases | |
# - duplicate_imports | |
# - duplicated_key_in_dictionary_literal | |
# - dynamic_inline | |
- empty_enum_arguments | |
# - empty_parameters | |
# - empty_parentheses_with_trailing_closure | |
# - file_length | |
# - for_where | |
# - force_cast | |
# - force_try | |
# - function_body_length | |
# - function_parameter_count | |
# - generic_type_name | |
# - identifier_name | |
# - implicit_getter | |
# - inclusive_language | |
# - inert_defer | |
# - is_disjoint | |
# - large_tuple | |
# - leading_whitespace | |
# - legacy_cggeometry_functions | |
# - legacy_constant | |
# - legacy_constructor | |
# - legacy_hashing | |
# - legacy_nsgeometry_functions | |
# - line_length | |
# - mark | |
- multiple_closures_with_trailing_closure | |
# - nesting | |
# - no_fallthrough_only | |
# - no_space_in_method_call | |
# - notification_center_detachment | |
# - nsobject_prefer_isequal | |
# - opening_brace | |
# - operator_whitespace | |
# - orphaned_doc_comment | |
# - private_over_fileprivate | |
# - private_unit_test | |
# - protocol_property_accessors_order | |
# - reduce_boolean | |
# - redundant_discardable_let | |
# - redundant_objc_attribute | |
# - redundant_optional_initialization | |
# - redundant_set_access_control | |
# - redundant_string_enum_value | |
# - redundant_void_return | |
# - return_arrow_whitespace | |
# - self_in_property_initialization | |
# - shorthand_operator | |
# - statement_position | |
# - superfluous_disable_command | |
# - switch_case_alignment | |
# - syntactic_sugar | |
# - todo | |
# - trailing_comma | |
# - trailing_newline | |
# - trailing_semicolon | |
# - trailing_whitespace | |
# - type_body_length | |
# - type_name | |
# - unneeded_break_in_switch | |
# - unused_capture_list | |
# - unused_closure_parameter | |
# - unused_control_flow_label | |
# - unused_enumerated | |
# - unused_optional_binding | |
# - unused_setter_value | |
# - valid_ibinspectable | |
# - vertical_parameter_alignment | |
# - vertical_whitespace | |
# - void_return | |
# - xctfail_message | |
# デフォルト無効で任意に有効化 | |
opt_in_rules: | |
- anonymous_argument_in_multiline_closure | |
- anyobject_protocol | |
- array_init | |
- attributes | |
- balanced_xctest_lifecycle | |
- capture_variable | |
- closure_body_length | |
- closure_end_indentation | |
- closure_spacing | |
- collection_alignment | |
#- conditional_returns_on_newline # ガード文などは簡潔に一行で記述したいため | |
- contains_over_filter_count | |
- contains_over_filter_is_empty | |
- contains_over_first_not_nil | |
- contains_over_range_nil_comparison | |
- convenience_type | |
- discarded_notification_center_observer | |
- discouraged_assert | |
- discouraged_none_name | |
- discouraged_object_literal | |
- discouraged_optional_boolean | |
- discouraged_optional_collection | |
- empty_collection_literal | |
- empty_count | |
- empty_string | |
- empty_xctest_method | |
- enum_case_associated_values_count | |
- expiring_todo | |
#- explicit_acl #ACLを最低限にしたいため | |
# - explicit_enum_raw_value # rawValue省略する時もある | |
- explicit_init | |
#- explicit_self # 関数にselfつけたくないため | |
#- explicit_top_level_acl # ACLを最低限にしたい | |
#- explicit_type_interface # 型推論に任せたい | |
- extension_access_modifier | |
- fallthrough | |
# - fatal_error_message # gatal_errorにmessageが不要なため | |
# - file_header #header規則は無し | |
- file_name | |
- file_name_no_space | |
- file_types_order | |
- first_where | |
- flatmap_over_map_reduce | |
- force_unwrapping | |
- function_default_parameter_at_end | |
- ibinspectable_in_extension | |
- identical_operands | |
- implicit_return | |
# - implicitly_unwrapped_optional # 意図的に強制アンラップする時もあるため | |
- indentation_width | |
- joined_default_parameter | |
- last_where | |
- legacy_multiple | |
- legacy_objc_type | |
- legacy_random | |
- let_var_whitespace | |
- literal_expression_end_indentation | |
# - lower_acl_than_parent # 対応不可のため | |
#- missing_docs # docsを重視していないため | |
- modifier_order | |
#- multiline_arguments # 引数は同じ行に2つ入れたいこともあるため | |
#- multiline_arguments_brackets # 括弧で行を増やしたくないため | |
#- multiline_function_chains # 関数の呼び出しは同じ行に2つ入れたいこともあるため | |
#- multiline_literal_brackets # 括弧で行を増やしたくないため | |
#- multiline_parameters # 引数は同じ行に2つ入れたいこともあるため | |
#- multiline_parameters_brackets # 括弧で行を増やしたくないため | |
- nimble_operator | |
#- no_extension_access_modifier # https://techblog.zozo.com/entry/swift_modern_extensions | |
# - no_grouping_extension # グルーピングにextensionを利用したいため | |
- nslocalizedstring_key | |
- nslocalizedstring_require_bundle | |
- number_separator | |
- object_literal | |
- operator_usage_whitespace | |
- optional_enum_case_matching | |
- overridden_super_call | |
- override_in_extension | |
- pattern_matching_keywords | |
- prefer_nimble | |
- prefer_self_in_static_references | |
- prefer_self_type_over_type_of_self | |
- prefer_zero_over_explicit_init | |
#- prefixed_toplevel_constant # 定数プリフィックスを使いたくない | |
- private_action | |
- private_outlet | |
- private_subject | |
# - prohibited_interface_builder #IBを使って | |
- prohibited_super_call | |
- quick_discouraged_call | |
- quick_discouraged_focused_test | |
- quick_discouraged_pending_test | |
- raw_value_for_camel_cased_codable_enum | |
- reduce_into | |
- redundant_nil_coalescing | |
- redundant_type_annotation | |
# - required_deinit # deinitを強制したくないため | |
- required_enum_case | |
- single_test_class | |
- sorted_first_last | |
- sorted_imports | |
- static_operator | |
# - strict_fileprivate # fileprivateを利用したいため | |
- strong_iboutlet | |
# - switch_case_on_newline # caseと同じ行に記述したいため | |
- test_case_accessibility | |
- toggle_bool | |
- trailing_closure | |
- type_contents_order | |
- unavailable_function | |
- unneeded_parentheses_in_closure_argument | |
- unowned_variable_capture | |
- untyped_error_in_catch | |
- unused_declaration | |
- unused_import | |
- vertical_parameter_alignment_on_call | |
- vertical_whitespace_between_cases | |
- vertical_whitespace_closing_braces | |
- vertical_whitespace_opening_braces | |
- weak_delegate | |
- xct_specific_matcher | |
- yoda_condition | |
# 無効にするルール | |
disabled_rules: | |
# opt-in中で無効にするルール | |
# default以外のopt-inから採用ルール | |
# Lint除外パス | |
excluded: | |
- Generated | |
- KuriTemplate | |
# 1行当たりの文字列制限 | |
line_length: | |
- 200 # warning | |
- 300 # error | |
# 型の行数制限 | |
type_body_length: | |
- 400 # warning | |
- 600 # error | |
# ファイル当たりの行数制限 | |
file_length: | |
- 500 # warning | |
- 1000 # error | |
# メソッドの行数制限 | |
function_body_length: | |
- 100 # warning | |
- 200 # error | |
type_name: | |
max_length: | |
warning: 40 | |
error: 50 | |
identifier_name: | |
min_length: | |
warning: 1 # |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment