misspell はソースコード内の英単語のスペルミスを検出するツールです。
解決する問題 変数名、コメント、文字列リテラルに含まれるスペルミスは、コードの可読性を下げ、検索性を損ないます。特にエクスポートされた識別子やドキュメントコメントのスペルミスは、外部から参照される際に問題になります。
1 2 3 4 5 6 7 type Perfomance struct { Paralell bool Occurance int Enviroment string }
1 2 3 4 5 6 7 type Performance struct { Parallel bool Occurrence int Environment string }
設定 公式ドキュメント
1 2 3 4 5 6 7 8 9 10 11 12 version: "2" linters: enable: - misspell settings: misspell: locale: US ignore-rules: - colour - organisation
オプション
オプション
型
デフォルト
説明
locale
string
""
スペルのロケール。US で米国英語、UK で英国英語を強制
ignore-rules
[]string
[]
無視する単語のリスト
extra-words
[]object
[]
追加のスペルミスルール(typo と correction のペア)
mode
string
""
チェックモード。restricted でより厳密なチェック
1 2 3 4 5 6 7 8 linters: settings: misspell: extra-words: - typo: "Kubernets" correction: "Kubernetes" - typo: "Promethues" correction: "Prometheus"
サンプル 検出例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 func Authenticate (user string ) error { return nil } var seperate = "," func GetMessage () string { return "Sucessfully completed" } var colour = "red"
修正例 1 2 3 4 5 6 7 8 9 10 11 12 func Authenticate (user string ) error { return nil } var separate = "," func GetMessage () string { return "Successfully completed" } var color = "red"
注意点
デフォルトでは米国英語・英国英語の両方を受け入れる。locale: US または locale: UK で片方に統一できる
ignore-rules でプロジェクト固有の用語(ドメイン用語、製品名など)を除外できる
コメント、文字列リテラル、識別子のすべてがチェック対象
自動修正(--fix)に対応しているため、大量のスペルミスも一括修正可能
mode: restricted ではより厳密なルールが適用されるが、誤検知が増える可能性がある
参考リンク