-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path.scalafix.conf
More file actions
50 lines (36 loc) · 1.85 KB
/
.scalafix.conf
File metadata and controls
50 lines (36 loc) · 1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
rules = [
// def/val に戻り型を明示しないと警告。型安全性・API可視性の向上に寄与。
ExplicitResultTypes,
// 未使用の import, val, param などを検出・削除。
RemoveUnused,
// 関数呼び出し時の暗黙のタプル変換を禁止(Scalaの罠を防止)。
NoAutoTupling,
// 禁止したい構文の指定(下で個別に設定)。
DisableSyntax,
// Scala 2 の古い def foo { ... } 構文を禁止(= 明示的な戻り型と = が必要)。
ProcedureSyntax,
// implicit class が内部で public な val を定義してしまうのを防止。
LeakingImplicitClassVal,
// for 内の `val` 宣言を禁止(副作用的記述の抑止)。
NoValInForComprehension
]
# ---------- DisableSyntax 詳細 ----------
DisableSyntax.noIndentationSyntax = true
# Scala 3 のインデント構文(オフサイドルール)を禁止。
# → 中括弧 `{}` を必須とすることで、明示的なスコープを強制。
DisableSyntax.noNull = true
# null の使用を禁止(Option型や例外ベースのエラーハンドリングを推奨)。
DisableSyntax.noVar = true
# var の使用を禁止(不変性を重視した設計へ)。
DisableSyntax.noFinalize = true
# finalize() の使用を禁止(Java 互換の古い破棄モデルは非推奨)。
DisableSyntax.noProcedureSyntax = true
# def foo { ... } のような戻り型・ = のない構文を禁止。
# ---------- OrganizeImports 設定(オプションでおすすめ) ----------
OrganizeImports.groupedImports = Explode
# import を1行ずつに分割(読みやすさ・git diff にも有利)。
OrganizeImports.removeUnused = true
# 未使用の import を自動で削除。
# ---------- SemanticDB 必須 ----------
semanticdb.symbols = all
# SemanticDB は scalafix による構文解析・型解析の基盤。