进阶
风格统一性规范
以下是各 Skill Tree 方向的内容风格统一性规范,包括编码环境、编码风格、模板、代码文件、测试用例、参考答案等。
内容风格统一性规范建立在 通用规范和要求 的基础之上,是根据各技术方向特点,对通用规范和要求的补充和细化。
编码环境
- 目前的实验和挑战支持的环境为 Python 3.10
编码风格
- 使用4 个空格缩进,而不是
Tabs
。 - 变量、函数和方法的名称应使用全小写字母,空格使用下划线(又称 “snake case”)。
- 类应该用TitleCase命名(又称 “Camel Case”)。
- 变量、函数和方法的名称,必须使用有意义的英文单词命名,便于理解。
- 在 lambda 之外不能使用单字母变量名。这包括循环变量和生成式。
- 详细的代码注释。
模板
代码文件
- 尽量给用户提供基础代码文件,而不是让用户自行创建文件。特殊情况除外。
- 命名为全小写,空格用下划线分隔,如:
sum_of_cubes.py
。 - 基础代码文件中的函数名、变量名、类名等书写规范,需要包含 Type Hints 和 Docstring。
- 需要用户补充的部分,使用
# TODO:
开头,并简要概述。 - Python 挑战尽量不要直接在
verify.sh
中使用 Shell 编写测试,而是使用unittest
编写规范的单元测试用例。 - 基础代码文件中的函数尽量使用
return
返回结果,方便使用unittest
编写规范的单元测试用例。 - 当存在规范的单元测试用例时,可以配置
"showstderr": true
,以便在测试失败时显示详细的错误信息,方便用户 Debug。 - 基础代码文件存放在
assets
目录中,通过在index.json
中配置 assets 字段 复制到环境用户目录。
测试用例
- 请使用
unittest
编写规范的单元测试用例,可以学习和参考 exercism/python。 - 单元测试用例文件和基础代码文件一一对应,以
_test
结尾。 - 命名为全小写,空格用下划线分隔,如:
sum_of_cubes_test.py
。 - 单元测试用例文件存放在
assets
目录中,通过在index.json
中配置 assets 字段 复制到/tmp
目录中,方便测试时用户不可见。
参考答案
- 参考答案文件存放在
solutions
目录中,名称与基础代码文件一致,如:sum_of_cubes.py
。最终绑定到index.json
。
编码环境
- 目前的实验和挑战支持的环境为 Python 3.10
编码风格
- 使用4 个空格缩进,而不是
Tabs
。 - 变量、函数和方法的名称应使用全小写字母,空格使用下划线(又称 “snake case”)。
- 类应该用TitleCase命名(又称 “Camel Case”)。
- 变量、函数和方法的名称,必须使用有意义的英文单词命名,便于理解。
- 在 lambda 之外不能使用单字母变量名。这包括循环变量和生成式。
- 详细的代码注释。
模板
代码文件
- 尽量给用户提供基础代码文件,而不是让用户自行创建文件。特殊情况除外。
- 命名为全小写,空格用下划线分隔,如:
sum_of_cubes.py
。 - 基础代码文件中的函数名、变量名、类名等书写规范,需要包含 Type Hints 和 Docstring。
- 需要用户补充的部分,使用
# TODO:
开头,并简要概述。 - Python 挑战尽量不要直接在
verify.sh
中使用 Shell 编写测试,而是使用unittest
编写规范的单元测试用例。 - 基础代码文件中的函数尽量使用
return
返回结果,方便使用unittest
编写规范的单元测试用例。 - 当存在规范的单元测试用例时,可以配置
"showstderr": true
,以便在测试失败时显示详细的错误信息,方便用户 Debug。 - 基础代码文件存放在
assets
目录中,通过在index.json
中配置 assets 字段 复制到环境用户目录。
测试用例
- 请使用
unittest
编写规范的单元测试用例,可以学习和参考 exercism/python。 - 单元测试用例文件和基础代码文件一一对应,以
_test
结尾。 - 命名为全小写,空格用下划线分隔,如:
sum_of_cubes_test.py
。 - 单元测试用例文件存放在
assets
目录中,通过在index.json
中配置 assets 字段 复制到/tmp
目录中,方便测试时用户不可见。
参考答案
- 参考答案文件存放在
solutions
目录中,名称与基础代码文件一致,如:sum_of_cubes.py
。最终绑定到index.json
。