3

HLint给出了如何改进源代码的建议。但是,鉴于建议的性质,我想知道是否可以自动应用这些建议。

是否可以自动应用提出的建议hlint

4

2 回答 2

6

--refactor必须refactor$PATH. 有关更多信息,请参阅hlint 的 README

自动应用提示

通过提供--refactor标志 hlint 可以自动应用大多数建议。而不是提示列表,hlint 将改为在标准输出上输出重构的文件。为了做到这一点,有必要refactor在你的路径上有可执行文件。refactorapply-refact 包提供,它使用 GHC API 来转换源文件,给出要应用的重构列表。Hlint 直接调用可执行文件来应用建议。

请注意, hlint 不会递归地应用转换,因此--refactor可能需要额外的转换。话虽如此,请确保在应用hlint --refactor和测试代码之前提交/保存,因为更改可能会破坏您的代码,特别是如果您使用 Rank2Types 或seq.

于 2016-05-10T21:21:36.830 回答
0

为了补充 Zeta 的回答,我使用了一些额外的标志来执行重构:

hlint  --refactor --refactor-options="--inplace" path/to/your/File.hs

有时您只想应用某种提示,这可以通过传递-o标志来完成,例如:

hlint  -o="Use fewer imports" --refactor --refactor-options="--inplace" 

据我所知,建议的重构需要在每个文件的基础上进行。

于 2018-02-13T10:15:41.447 回答