小学

小学

简单

说明

已知学生的姓名以及他们所在的年级,请为这所学校建立一份名册。

最终,你应该能够:

  • 把学生的姓名添加到某个年级的名册中
    • “把 Jim 加到 2 年级。”
    • “好的。”
  • 获取某个年级里所有已注册学生的列表
    • “2 年级有哪些学生?”
    • “目前只有 Jim 一个人。”
  • 获取所有年级全部学生的排序列表。年级应按 1、2、3 等的顺序排列,同一 年级内的学生则按姓名的字母顺序排列。
    • “现在学校里都有谁?”
    • “让我想想。1 年级有 Anna、Barb 和 Charlie, 2 年级有 Alex、Peter 和 Zoe, 5 年级有 Jim。 所以答案是:Anna、Barb、Charlie、Alex、Peter、Zoe 和 Jim”

注意,我们所有的学生都只有一个名字。(这是个小地方,你还想怎样?)

加分项

你的测试都通过了吗?代码够整洁吗?如果愿意,还可以尝试下面这些额外的挑战:

  • 如果你使用的语言有可变数据结构,而你的实现又允许外部代码直接修改学校内部的 数据库,看看能否阻止这种情况。欢迎自行添加更多测试。

然后请在提交的解答下留言,分享你的想法。这个实验让代码变得更好了吗?更糟了 吗?你从中有什么收获吗?


来源

与 Phil Battos 在 gSchool 的一次结对编程
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Delphi Pascal Exercism

准备好开始 小学 了吗?

注册 Exercism,借助 76 个练习 和真人导师指导,学习并掌握 Delphi Pascal,全部免费。