https://mp.weixin.qq.com/s/zwrG1MfUzXwtik7jotpQsA
介绍Intellij IDEA中的一个去除Scala语法糖的功能。
1. 去除语法糖
Scala包含了太多的语法糖,在实现了代码写法比较简洁的同时,也某种程度上降低了代码的可阅读性。
比如变量类型推断。为了知道变量的类型,而不得不去阅读为该变量赋值的代码。为了知道方法的返回值类型,而不得不去看方法的实现。
这个问题可以通过Intellij IDEA添加type annotation的功能实现:
如下:
今天又发现一个可以去除语法糖、更详实的展现代码的功能:Desugar Scala code。
选中要去除语法糖的代码,右键即可呼出菜单:
点击之后,会出现要去除哪些语法糖的选择界面:
不做改变,直接点击OK:
可以看到,代码的阅读性有了很大的提升:
UInt
()
)
)
看明白了就还原回去:Ctrl+Z)
2.Functionality
以chisel-tutorial中的Functionality类为例:
3. 不足之处
a. 多次执行结果不一致;
b. 并不是总能去除成功;
4. 例子2
.:=()()
b. 添加隐式参数列表的两个参数:SourceInfo, CompileOptions;
5. 例子3
整体转换:
不是很稳定,聊胜于无。