zoukankan      html  css  js  c++  java
  • Scala

    https://mp.weixin.qq.com/s/zwrG1MfUzXwtik7jotpQsA

     
    介绍Intellij IDEA中的一个去除Scala语法糖的功能。
     
     
     
    1. 去除语法糖
     
    Scala包含了太多的语法糖,在实现了代码写法比较简洁的同时,也某种程度上降低了代码的可阅读性。
     
    比如变量类型推断。为了知道变量的类型,而不得不去阅读为该变量赋值的代码。为了知道方法的返回值类型,而不得不去看方法的实现。
     
    这个问题可以通过Intellij IDEA添加type annotation的功能实现:
    如下:
     
     
    今天又发现一个可以去除语法糖、更详实的展现代码的功能:Desugar Scala code。
     
    选中要去除语法糖的代码,右键即可呼出菜单:
     
    点击之后,会出现要去除哪些语法糖的选择界面:
     
    不做改变,直接点击OK:
     
    可以看到,代码的阅读性有了很大的提升:
    a. 添加了变量类型:val x: UInt
    b. 伴生对象的路径及方法:chisel3.Input.apply()
    c. 为了调用W方法,而把16进行隐式类型转换调用的方法:chisel3.fromIntToWidth(16)
    d. 调用伴生对象Input所传入的隐式参数:(chisel3.core.CompileOptions.materialize)
     
    所有的猫腻都现出原形。(看明白了就还原回去:Ctrl+Z)
     
     
    2.Functionality
     
    以chisel-tutorial中的Functionality类为例:
     
     
    3. 不足之处
     
     
     
    a. 多次执行结果不一致;
    b. 并不是总能去除成功;
     
     
    4. 例子2
     
     
     
    a. ":="为方法名,使用"."调用,并为参数添加括号:io.z.:=()()
    b. 添加隐式参数列表的两个参数:SourceInfo, CompileOptions;
     
     
    5. 例子3
     
    整体转换:
     
     
    不是很稳定,聊胜于无。
     
  • 相关阅读:
    作为一名JAVA程序员应该有怎样的就业思维
    Html +++++css总结
    spring知识点全部复习
    Spring注解问题,[action中注入service失败
    VMware中Ubuntu18配置静态IP地址
    MySQL5.7修改登录密码的几种方式
    MySQL忘记root密码
    Windows安装Redis
    Java两个整数相除保留n位小数
    Java四舍五入保留n位小数的常用写法
  • 原文地址:https://www.cnblogs.com/wjcdx/p/10420862.html
Copyright © 2011-2022 走看看