2026-09-10 22:38:33 +08:00
2026-09-09 17:28:36 +08:00
2026-09-09 17:28:36 +08:00
2026-09-10 09:37:36 +08:00
2026-09-10 22:38:33 +08:00

scala_20260908

Scala 学习代码仓库,记录从 2026-09-08 开始的 Scala 学习过程。

本仓库的代码主要分为两部分:

chapter/
    ↓
线下课程学习代码

practise/
    ↓
使用 ChatGPT 辅助学习的练习代码

两部分代码虽然都属于 Scala 学习内容,但定位不同。


一、目录说明

chapter —— 线下课程

chapter 用于保存线下课程中的课堂代码。

这里的代码以老师上课讲解的内容为准,主要目的是:

  • 记录课堂学习过程
  • 保留老师的代码示例
  • 对应课程章节
  • 方便课后复习
  • 保持与课堂进度一致

例如:

chapter1
    ├── demo1
    ├── demo2
    ├── demo3
    ├── demo4
    └── exercises

chapter2
    └── demo1

随着线下课程推进,会继续增加:

chapter3
chapter4
chapter5
...

因此:

chapter 可以理解为“课堂笔记的代码版”。


practise —— ChatGPT 学习

practise 用于保存通过 ChatGPT 辅助学习 Scala 时编写的代码。

这部分内容不一定完全按照线下课程章节组织,而是更侧重:

  • 对知识点进行补充学习
  • 针对某个知识点单独练习
  • 根据自己的理解重新写代码
  • 编写练习题
  • 编写综合题
  • 验证 Scala 的语法特性
  • 对容易混淆的知识点进行实验

例如:

practise1
    ├── demo
    ├── exercises
    └── comprehensive

practise2
    ├── demo
    ├── exercises
    └── comprehensive

其中通常可以理解为:

demo
    ↓
知识点示例

exercises
    ↓
针对知识点的练习

comprehensive
    ↓
综合多个知识点的练习

因此:

practise 可以理解为“自己练习和深入理解的代码区”。


二、为什么要分成 chapter 和 practise

将两部分代码分开,可以避免课堂代码和自主练习相互混杂。

学习过程可以理解为:

                 Scala 学习
                     │
          ┌──────────┴──────────┐
          │                     │
       chapter               practise
          │                     │
      线下课程代码          ChatGPT辅助学习
          │                     │
      老师怎么讲就怎么写      自己理解 / 补充 / 练习
          │                     │
          └──────────┬──────────┘
                     │
                  最终掌握

其中:

chapter 负责跟着课程学习。

practise 负责把知识真正练会。


三、当前学习内容

目前已经开始学习 Scala 基础语法。

chapter

主要对应线下课程,目前包括:

Scala 基础语法
├── 变量
├── 数据类型
├── 字符串
├── 字符串插值
├── 运算符
├── 流程控制
└── 方法 / 函数

practise

目前主要围绕已经学习的 Scala 基础知识进行练习:

变量与常量
↓
数据类型
↓
字符串
↓
字符串插值
↓
if 表达式
↓
方法
↓
函数
↓
函数参数
↓
函数返回值
↓
综合练习

四、学习方式

整个学习过程采用:

线下课程
   ↓
chapter
   ↓
理解课堂知识
   ↓
ChatGPT辅助学习
   ↓
practise
   ↓
独立练习 / 综合练习
   ↓
进一步理解 Scala

其中 chapter 和 practise 并不是两个独立的课程,而是同一个学习过程中的两个部分。


五、项目结构

scala_20260908/
│
├── pom.xml
├── README.md
│
└── src/
    └── main/
        └── scala/
            │
            ├── chapter1/
            │   ├── demo1/
            │   ├── demo2/
            │   ├── demo3/
            │   ├── demo4/
            │   └── exercises/
            │
            ├── chapter2/
            │   └── demo1/
            │
            ├── practise1/
            │   ├── demo/
            │   ├── exercises/
            │   └── comprehensive/
            │
            └── practise2/
                ├── demo/
                ├── exercises/
                └── comprehensive/

六、代码组织原则

chapter

以课程章节为核心:

chapter1
chapter2
chapter3
...

尽量保持课堂代码的原始结构,不为了“代码漂亮”而过度修改。

这样做的主要目的是:

能够回到对应章节,快速回忆老师当时讲了什么。


practise

以学习和练习为核心:

practise1
practise2
practise3
...

可以根据学习过程自由增加:

demo
exercises
comprehensive
test
experiment

等目录。

这里允许出现为了理解某一个 Scala 特性而专门编写的小实验代码。


七、环境

当前项目使用 Maven 管理。

主要环境:

JDK      8
Scala    2.11.12
Maven    3.x
IDEA     IntelliJ IDEA

项目通过 scala-maven-plugin 编译 Scala 代码。


八、运行代码

推荐使用 IntelliJ IDEA 打开项目。

找到需要运行的 .scala 文件,例如:

object Demo {
  def main(args: Array[String]): Unit = {
    println("Hello Scala")
  }
}

直接运行:

Run 'Demo.main()'

也可以使用 Maven:

mvn clean compile

运行指定 Scala 主类:

mvn scala:run -DmainClass=chapter2.demo1.DemoMethod

或者:

mvn scala:run -DmainClass=practise2.demo.DemoFunction

九、学习记录原则

这个仓库不追求一次性把 Scala 所有知识整理完整,而是随着学习过程持续更新。

因此:

chapter
    = 课程真实学习进度

practise
    = 自主学习与练习进度

以后学习到新的内容后,继续按照这个规则添加即可。


十、后续学习方向

随着 Scala 学习深入,预计逐步涉及:

基础语法
    ↓
流程控制
    ↓
方法与函数
    ↓
集合
    ↓
面向对象
    ↓
Trait
    ↓
继承
    ↓
函数式编程
    ↓
高阶函数
    ↓
隐式转换
    ↓
Scala 集合操作
    ↓
Spark / 大数据开发

最终希望通过:

课堂学习
+
ChatGPT辅助学习
+
大量练习

逐步建立完整的 Scala 编程能力。


License

个人 Scala 学习代码,仅用于学习、练习和知识整理。

S
Description
线下课
Readme
141 KiB
Languages
Scala 100%