Chisel3 - Scala语言专家

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

介绍Intellij IDEA安装Scala插件后,如何在阅读和编码两方面助益开发者。

1. 语言专家

Scala是一门多范式编程语言,在支持面向对象编程的同时,也支持函数式语法。再加上隐式规则和宏等特性,以及众多的语法糖。使得Scala的学习曲线异常陡峭。

除了语言规范、教程图书、网络资料之外,一个强大的能够智能提示补全、时时检查提醒的编辑器或者IDE,可以极大的提高学习速度和编码效率。

事实上,除了语言的父亲(father of Scala)、语言规范委员会、编译器实现团队之外,编辑器或IDE的开发者可能是对语言最为擅长的了。他们开发的编辑器或IDE相较于一般的初学者,也能被称作专家了。

现代化的IDE是相当智能和强大的,犹如一个贴身语言专家,为开发者保驾护航。

Intellij IDEA就是这样的一个IDE,当之无愧。

2. 注意事项

在介绍Intellij IDEA之前,首先列几点Scala编程注意事项:

1) 代码不只是要功能正确,还要用于沟通协同。所以代码要在功能正确的基础上,尽量的简单易懂;

2) 不要炫技:Scala是一门很优秀的语言,包含众多的语法糖。编写时以信达雅为要,不要在不必要的情况下,使用花哨的语法糖;

3) 不用宏:宏的代码较为艰涩,且宏编程是一个试验性的语言特性。除非必须,不要使用;

4) 慎用隐式规则:隐式规则是一个潘多拉魔盒,使代码难以理解;若必须使用,则不宜默认的导入,需要在使用的地方显式导入(import x.y.z.implicits._)。

3. 代码阅读

以Rocket-Chip源码为例。

1) 代码跟踪

a. 按住Ctrl,使用鼠标点击,可以跟踪各类定义,如类、方法、变量等;

b. 跟踪子类

点击左侧图标,如:

??

点击之后,显示如下:

??

c. 跟踪方法在哪些子类中实现

??

点击后显示如下:

??

d. 跟踪方法覆盖的父类方法定义

??

点击后跳转至父类的方法:

??

e. 查找使用之处

??

??

2) 代码提示

a. package与文件夹路径不一致

??

按住快捷键Alt+Enter,会提示可以采取的措施,以修复这个提示:

??

选中之后即可实施。

b. 优化建议:多余的花括号

??

按住快捷键Alt+Enter,即可给出建议。使用Unwrap可以把多余的花括号去掉:

??

c. 优化建议:提示带上返回值类型

??

??

d. 代码提示:查看代码类型

Scala代码可以省略变量类型,根据后面赋值的变量类型进行推断。

??

Alt+Enter,

??

Enter,

??

e. 提示隐式宏调用

??

f. 优化建议:map/foreach

看到过但没找到,所以不贴代码了。

这两个都是针对每个元素执行一个函数,只是一个有返回值,一个无返回值。

易于混用,这个也会提示到。

g. 优化建议:indices

??

Alt+Enter,

??

Enter,

??

h. 优化建议:无用的import

??

i. 优化建议:无用的括号

??

j. 优化建议:无用的占位符

??

4. 代码编写

1) 自动生成必须要实现的父类方法

??

Enter,

??

2) 选择覆盖或实现某个方法

??

??

??

3) 提示及补全

??

??

原文地址:https://www.cnblogs.com/wjcdx/p/10258214.html

时间: 2024-10-18 14:43:33

Chisel3 - Scala语言专家的相关文章

初解,Scala语言中基于Actor的并发编程的机制,并展示了在Spark中基于Scala语言的Actor而产生的消息驱动框架Akka的使用,

Scala深入浅出实战中级--进阶经典(第66讲:Scala并发编程实战初体验及其在Spark源码中应用解析)内容介绍和视频链接 2015-07-24 DT大数据梦工厂 从明天起,做一个勤奋的人 看视频.下视频,分享视频 DT大数据梦工厂-Scala深入浅出实战中级--进阶经典:第66讲:Scala并发编程实战初体验及其在Spark源码中的应用解析 本期视频通过代码实战详解了Java语言基于加锁的并发编程模型的弊端以及Scala语言中基于Actor的并发编程的机制,并展示了在Spark中基于Sc

Scala语言初识

scala是一种集面向对象特性和函数式特性于一身并可运行在JVM上的强类型静态语言.因为可以运行在JVM上,并在设计时借鉴于大量的java语言特性,故可以和java互动并可以调用java相关类库,这让现在大量掌握java的编程者的智力投资得到极大的利用.并且还借鉴了Elang函数语言及Ruby等脚本语言,从而有高效,轻便等特性,从而原来掌握Ruby,Erlang等语言者,来学习scala时感到亲切从而更加快捷掌握. scala由洛桑联邦理工学院的Martin Odersky设计,第一个版本发布于

Scala语言开发入门

在本系列的第一篇文章 <使用递归的方式去思考>中,作者并没有首先介绍 Scala 的语法,这样做有两个原因:一是由于过多的陷入语法的细节其中,会分散读者的注意力.反而忽略了对于基本概念,基本思想的理解.二是由于 Scala 语法非常简洁,拥有其它语言编程经验的程序猿非常easy读懂 Scala 代码.如今我们将回过头来.从基本的语法開始学习 Scala 语言.大家会发现 Scala 语言异常精炼,实现相同功能的程序.在代码量上,使用 Scala 实现通常比 Java 实现少一半或者很多其它.短

Spark 大数据中文分词统计(三) Scala语言实现分词统计

Java版的Spark大数据中文分词统计程序完成之后,又经过一周的努力,把Scala版的Spark 大数据中文分词统计程序也搞出来了,在此分享给各位想学习Spark的朋友. 如下是程序最终运行的界面截图,和Java版差别不大: 如下是Scala工程结构: 当你在工程主类文件WordCounter.scala上单击右键,选择Run As Scala Application: 然后选择唐诗宋词进行分词统计,就会出现前面显示的分词结果. 工程代码已经上传CSDN:http://download.csd

Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈与熟练的掌握Scala语言【大数据Spark

Spark GraphX宝刀出鞘,图文并茂研习图计算秘笈 大数据的概念与应用,正随着智能手机.平板电脑的快速流行而日渐普及,大数据中图的并行化处理一直是一个非常热门的话题.图计算正在被广泛地应用于社交网络.电子商务,地图等领域.对于图计算的两个核心问题:图存储模式和图计算模型,Spark GraphX给出了近乎完美的答案, 而Spark GraphX作为图计算领域的屠龙宝刀,对Pregel  API的支持更是让Spark GraphX如虎添翼.Spark GraphX可以轻而易举的完成基于度分布

也谈在 .NET 平台上使用 Scala 语言(上)

前几天.老赵发表了两篇文章:在.NET平台上使用Scala语言(上):初尝 和 在.NET平台上使用Scala语言(下):分析. 我拜读了以后,对 Scala 语言也感兴趣.于是就開始了尝试. 在 Ubuntu 9.10 操作系统上安装 Scala SDK 是很easy的一件事: [email protected]:~$ sudo apt-get install scala [email protected]:~$ scalac -version Scala compiler version 2

Maven Java项目添加Scala语言支持

为了在一个普通的使用Maven构建的Java项目中,增加对Scala语言的支持.使得其能够同时编译Java和Scala语言的文件.其实很简单的一件事情,只需要在pom.xml文件中的build部分中的plugins中,增加对scala-maven-plugin的支持,就好了.具体的说,就是添加如下的语句: <plugin> <!-- see http://davidb.github.com/scala-maven-plugin --> <groupId>net.alch

(转)谁是真正的程序语言专家

谁是真正的程序语言专家by 王垠 一直以来,程序语言的研究都是一个非常偏僻,却非常重要的专业.由于它令人却步的难度,很少有人说得清楚什么人是真正的“高手”.这是一个很简单的道理,当一个人仰望星空的时候,他不会知道哪颗星更加伟大.通常人们都会以为最亮的星星是最大的,可其实有些看起来灰暗的小星星,它们的尺寸和能量都超过那最亮的恒星万亿倍.但是由于它们离地球太远,基本不会被人注意到.研究程序语言的科学家们,很多就是这样的巨星,而且这样的巨星满天都是. 宗教与盲从巨星一般都不说话,它们只是默默的释放着自

Scala入门到精通——第一节 Scala语言初步

本节主要内容 Scala简介 为什么要学习Scala Scala语言初步 1. Scala简介 Scala(Scala Language的简称)语言是一种能够运行于JVM和.Net平台之上的通用编程语言,既可用于大规模应用程序开发,也可用于脚本编程,它由由Martin Odersk于2001开发,2004年开始程序运行在JVM与.Net平台之上,由于其简洁.优雅.类型安全的编程模式而受到关注. Scala的创建者--Martin Odersk 在Scala的创建之初,并没有怎么引起重视,随着Ap