10. 附录:课程软件

您可以选择以下两个选项中的一个或两个。

10.1. 基于云的开发环境

如果您的本地设置有任何问题,或者如果您更喜欢基于云的基本设置,则建议使用此选项。

10.1.1. 专业人士

  • 一致的基于云的环境

10.1.2. 缺点

  • 需要良好的网络连接

  • 可能缺少代码完成

  • 免费计划可能资源不足(CPU、RAM、磁盘空间等)

  • 不支持开箱即用的图形用户界面或移动开发

10.1.3. 零安装选项:SCastie

SCastie是Scala的交互式游乐场,支持Scala3和SBT(Scala构建工具)配置。它允许您将代码片段保存到您的GitHub帐户中,以便稍后访问。然而,它不适合用于成熟的Scala项目。

要发布,请访问https://scastie.scala-lang.org.一定要

  • 选择目标Scala 3和Scala版本3.3.0

  • 添加以下内容 scalacOptions 在生成设置下:

    "-Yexplicit-nulls",
    "-language:strictEquality"
    

10.2. 本地安装的开发环境

此选项将为您提供具有代码完成、类型信息等功能的高级开发环境。

10.2.1. 专业人士

  • 提供强大的功能,包括代码完成

  • 安装后不需要网络连接

10.2.2. 缺点

  • 在较旧的计算机上可能速度较慢

  • 需要在您使用的每台机器上进行维护

  • 匹配不同包的版本可能是一项挑战

10.2.3. 所需套餐

  • Java 17 and/or newer JDK

  • Git 分布式版本控制系统(通常预装在Mac OS和Linux上)

    • Windows上的建议安装选项: Use Git and optional UNIX tools from the Windows Command Prompt

    • 在任何plaDecimaltform上都是可选的,特别是在不使用IntelliJ IDEA时: some GUI-based Git client

  • sbt Scala构建工具

  • VisualVM 可视化堆分析工具

  • Mac and Linux users are strongly encouraged to use SDKMAN! to manage their Java, sbt, VisualVM, and other command-line development tools.

10.2.4. 开发环境的选择

  • IntelliJ IDEA CE 集成开发环境(推荐)

    • 检查您的平台的特定前提条件详细信息

    • 对于以下步骤,请确保您没有打开任何项目,并且正在查看所附屏幕截图中的欢迎窗口

    • Scala plugin installation: IntelliJ Idea>配置(右下角)>插件>浏览存储库>查找并右键单击Scala>下载和安装>关闭存储库浏览器>确定重启Idea由于Scala 3仍在发展中,JetBrains建议将IntelliJ Scala插件设置为夜间频道,以便进行更频繁的更新。有关详细信息,请访问 this blog post

    • JDK配置 :IntelliJ IDEA>Configure>Project Defaults>Project Structure>Platform Settings>SDK>+>JDK>导航到最新JDK的安装目录>OK

  • Visual Studio Code 根据您的偏好和/或经验进行选择

  • 常规文本编辑器

    • Emacs

    • VIM

    • 等。

10.3. SBT可选插件

本节适用于SBT的所有用法,无论是基于云的还是在本地命令行上。

这些是有用的附加SBT插件。 You can install them per project or globally. 许多示例项目已经附带了一个或多个这样的插件(尤其是前两个)。

10.4. GitHub

GitHub 是一个托管Git存储库的提供商,它强调社区和协作。出于这个原因,我们使用它来托管我们的课程示例。

  • 如果您还没有GitHub帐户,请创建一个GitHub帐户。

  • 拿到 GitHub Student Developer Pack 利用你的官员 @luc.edu 地址。这将为您提供无限制的免费私有存储库。

  • 找到并关注几个你尊敬的练习者。例如,我跟随 these developers 。你可能会认出他们中的一些人。

  • 回顾 these notes 了解基于社区的开发过程。

  • 对于课堂参与的学分,创建一些有意义的 GitHub issues 和/或 GitHub pull requests 对于我们的一个或多个 course examples 。(请确保导航到原始回购,因为这些分支没有自己的问题跟踪器)。这些可以是功能性增强或非功能性增强、要求澄清等。

  • 为了提高您在专业社区中的知名度,开始为您感兴趣的一些开源项目做同样的事情。

您可能会发现这两个小抄都很有用:

10.5. 远程参与

此软件允许您在天气紧急情况、流行病等情况下远程参加课程。出于安全和隐私原因,请确保经常更新它。

在Zoom中断的情况下,我们将退回到MS团队聊天并从那里重新组织。