Open lczzlczz opened 12 months ago
Questions and options:
调查地址: https://teamtddinaction.slack.com/archives/C066URM6WBU/p1700826664890899
15 surveys have been collected.
更高效和长效的学习,需要建立在更加清晰可触的目标基础上,建议可以增加:
更高效和长效的学习,需要建立在更加清晰可触的目标基础上,建议可以增加: 7. 本次学习TDD的目的是什么,想在学习结束后收获的成果都有哪些?
@sunhaoyu-1990 你这个问题很关键,对个人来说挺有意义的,但是我觉得不用学习计划调查这里。从@lczzlczz的前六个问题我感觉应该是想要拉齐我们的起跑线,以一个大家都更可能完成的标准制定计划。
更高效和长效的学习,需要建立在更加清晰可触的目标基础上,建议可以增加: 7. 本次学习TDD的目的是什么,想在学习结束后收获的成果都有哪些?
@sunhaoyu-1990 你这个问题很关键,对个人来说挺有意义的,但是我觉得不用学习计划调查这里。从@lczzlczz的前六个问题我感觉应该是想要拉齐我们的起跑线,以一个大家都更可能完成的标准制定计划。
嗯,我的想法很简单,就是希望大家都能完成学习。为了实现这个目标,我觉得首先要work as a team
,互相帮助,实现共同目标。为了能互相帮助,就必须了解每个人的情况,哪个人可能在哪些方面需要帮助,哪个人又能在哪些方面帮到其他人。现在群里人数众多(20+),我觉得是应该分组的,合理地分成3-5个小组进行学习或许是一个好的选择。
更高效和长效的学习,需要建立在更加清晰可触的目标基础上,建议可以增加: 7. 本次学习TDD的目的是什么,想在学习结束后收获的成果都有哪些?
@sunhaoyu-1990 你这个问题很关键,对个人来说挺有意义的,但是我觉得不用学习计划调查这里。从@lczzlczz的前六个问题我感觉应该是想要拉齐我们的起跑线,以一个大家都更可能完成的标准制定计划。
这是个好问题,没有目标就容易缺乏方向。 如果这是一个选择题,可以帮我想好选项吗?谢谢。
Step 1: Create a survey for TDD learning plan purposes
Questions and options:
- 主力或者常用开发语言:Java, JavaScript, Python, C/C++, 其他
- 开发经验:< 3 yrs, > 3yrs, > 5 yrs
- 工作中使用严格的TDD或者运用TDD思想开发软件的年限:< 1yr, 1 - 3 yrs, > 3yrs, > 5 yrs
- 课程的学习进度:没有开始或刚开始,完成项目1,完成项目2,完成项目3,完成项目4(不会有人选吧?!)
- 未来3-4个月每周可以学习的时间:5小时,10小时,20小时或更多。
- 填写github账号: __
更高效和长效的学习,需要建立在更加清晰可触的目标基础上,建议可以增加: 7. 本次学习TDD的目的是什么,想在学习结束后收获的成果都有哪些?
@sunhaoyu-1990 你这个问题很关键,对个人来说挺有意义的,但是我觉得不用学习计划调查这里。从@lczzlczz的前六个问题我感觉应该是想要拉齐我们的起跑线,以一个大家都更可能完成的标准制定计划。
嗯,我的想法很简单,就是希望大家都能完成学习。为了实现这个目标,我觉得首先要
work as a team
,互相帮助,实现共同目标。为了能互相帮助,就必须了解每个人的情况,哪个人可能在哪些方面需要帮助,哪个人又能在哪些方面帮到其他人。现在群里人数众多(20+),我觉得是应该分组的,合理地分成3-5个小组进行学习或许是一个好的选择。
明白,所以这些问题是为了更好的将相近水平、相似目的的人员进行分组,同时将各人的需求和优势进行收集,以便进一步相互匹配是吗
我觉得可以大家一起做一个tdd的文档,我上了那个课程感觉后面的课程都是视频,文字的内容的其实很少,而且每个小课程有个要点记录比较好,也好复习。
我觉得可以大家一起做一个tdd的文档,我上了那个课程感觉后面的课程都是视频,文字的内容的其实很少,而且每个小课程有个要点记录比较好,也好复习。
主要记录徐昊老师使用的那些常见的重构手法, 比如使用map,消除if语句,
我觉得可以大家一起做一个tdd的文档,我上了那个课程感觉后面的课程都是视频,文字的内容的其实很少,而且每个小课程有个要点记录比较好,也好复习。
主要记录徐昊老师使用的那些常见的重构手法, 比如使用map,消除if语句,
这个可以写在项目的wiki里,大家一起写。
既然是 TDD 那么也可以了解一下大家对测试的掌握程度:
为提高沟通效率:
分组合作:
预期计划
我觉得可以大家一起做一个tdd的文档,我上了那个课程感觉后面的课程都是视频,文字的内容的其实很少,而且每个小课程有个要点记录比较好,也好复习。
主要记录徐昊老师使用的那些常见的重构手法, 比如使用map,消除if语句,
这个可以写在项目的wiki里,大家一起写。
我觉得还可以把我们日常写的代码中出现的bad smell, 拿出来进行讨论,看看如何重构。
既然是 TDD 那么也可以了解一下大家对测试的掌握程度:
- 掌握的测试框架(多选): {Junit4, Junit5, TestNG, Spock, ...}
- 曾经编写过哪些测试(多选): {功能, 集成, 单元}
为提高沟通效率:
- 是否需要每天安排一个时间作为集中讨论时间: {是, 否} | {不同时间段, 否}.
分组合作:
- 是否支持分组: {是,否}
- 代码库如何管理: {"每组自主管理", "每组一个分支,择优 merge 到主分支"}
预期计划
- 希望使用多长时间来完成课程: {2 周, 4 周, 6 周, 8 周, ...}
- 学习目标: {"扩大知识面, 简单了解一下", "详细理解 TDD 流程, 不确定会使用", "准备使用 TDD 进行开发"}
关于测试框架这块,不同语言有不同的测试框架,而且我不认为测试框架会是学习TDD需要关注的地方。TDD的测试一般指的是单元测试,这里也没有必要讨论的,TDD经验的选项已经覆盖了。
提高沟通效率这个问题可以另起一个issue,你来新建一个issue好吗?把想法写得详细点,谢谢。
分组这块我想想了,反正分组肯定是必须的,如果有人不希望分组或者分组就他一个人,那也可以。至于代码管理这块,我觉得是分组之后各个小组讨论的事情,也涉及到语言,可以选择分组后再讨论,也可以现在讨论,麻烦你新建一个关于代码管理的issue好吗?谢谢。
学习期限的问题是个好问题,群里有些同学还在找工作,对学习期限是比较敏感的。我之前的想法是每周能投入多少时间来学习。因为我现在还不知道这个课程大概需要多少时间来学习,对自己能每周投入多少时间学习倒是可以预估。把这个问题加入讨论很好。学习计划或期限?1月之内,2-3个月,4-6个月,6个月以上
关于学习目标,我觉得暂时要是考虑用填空题好了,你给的几个选项都不是我的学习目标:)
我觉得可以大家一起做一个tdd的文档,我上了那个课程感觉后面的课程都是视频,文字的内容的其实很少,而且每个小课程有个要点记录比较好,也好复习。
主要记录徐昊老师使用的那些常见的重构手法, 比如使用map,消除if语句,
这个可以写在项目的wiki里,大家一起写。
我觉得还可以把我们日常写的代码中出现的bad smell, 拿出来进行讨论,看看如何重构。
请建一个关于文档的issue吧,谢谢了。@agentwyz
我的困惑是,主要是如何实践到实际工作,项目中去!需要解决的主要矛盾在于。TDD思路各种语言均一样。徐老师讲的以java,js两个语种,四类场景。而我们面临的是更多语种,更多场景。在同一个tdd思路下,如何以个人或团队更高效的执行TDD。 所以我的目的:想找有经验的聊聊,或组队边实践边总结。
所以照此思路。目的大约就是 1、多人合作情况下,任务边界,以及个人对自身任务分解的过程中,所涉及的共公小组件,小方法。如何减少重复。 2、TDD中自身准备的众多path,与测试团队提供的用例间。提前沟通的时机和闭环。 3、基于常用springboot技术栈下,服务内,服务间的挡板工具选择和统一(需要有些实践经验支撑)。
- 关于测试框架这块,不同语言有不同的测试框架,而且我不认为测试框架会是学习TDD需要关注的地方。TDD的测试一般指的是单元测试,这里也没有必要讨论的,TDD经验的选项已经覆盖。
- 调查测试框架是为了方便分组, 毕竟使用相同测试框架的朋友在一起更容易沟通.
- 测试在 TDD 中是非常重要的, 因为 TDD 一个重要的利多就是用测试为重构提供保障, 测试的良莠将直接影响 TDD 的效能. 而且我的认知中, TDD 中的测试并不是传统意义上的单元测试, 更倾向于称之为'Feature Tests', 功能需求映射为大粒度的 Features, 再分解为更小的 Features. Feature 无论大小都有相应的测试与之对应, 根据粒度不同可能是功能测试, 集成测试, 或者基于状态的单元测试, 尽量避免涉及具体实现基于行为的单元测试. 如果把这些测试或 Feature 映射为 issue, 就成了 Issue-Driven-Development. 这种方法可以有效地管理测试, 不同 Team 可以面向不同粒度的测试, 比如 QA 负责大粒度的等效于功能测试的 Feature Tests.
一言蔽之, FDD->TDD->IDD. 用我编写测试的习惯来解释一下我的想法, 所有预先编写的测试我都以 '-Spec' 结尾, 表示这是我想要达到的效果, 方法层面只涉及 API, 重构必跑测试. 所有用于验证实现代码行为的测试我都以 '-Test' 结尾, 表示这是验证实现细节的测试, 会涉及所有方法, 与重构无关.- 提高沟通效率这个问题可以另起一个issue,你来新建一个issue好吗?把想法写得详细点,谢谢
- 在 Discussion 里讨论会不会更好
- 分组这块我想想了,反正分组肯定是必须的,如果有人不希望分组或者分组就他一个人,那也可以。至于代码管理这块,我觉得是分组之后各个小组讨论的事情,也涉及到语言,可以选择分组后再讨论,也可以现在讨论,麻烦你新建一个关于代码管理的issue好吗?谢谢。
- 同上
- 学习期限的问题是个好问题,群里有些同学还在找工作,对学习期限是比较敏感的。我之前的想法是每周能投入多少时间来学习。因为我现在还不知道这个课程大概需要多少时间来学习,对自己能每周投入多少时间学习倒是可以预估。把这个问题加入讨论很好。
学习计划或期限?1月之内,2-3个月,4-6个月,6个月以上
- 每周学习时间可以和沟通放一起讨论. 除了组内讨论外, 还是应该定期提供个共同交流的机会.
- 关于学习目标,我觉得暂时要是考虑用填空题好了,你给的几个选项都不是我的学习目标:)
- 当然可以, 我抛砖引玉嘛.:)
以上关于的测试的内容可能与问卷无关, 一时手痒, 见谅.
- 关于测试框架这块,不同语言有不同的测试框架,而且我不认为测试框架会是学习TDD需要关注的地方。TDD的测试一般指的是单元测试,这里也没有必要讨论的,TDD经验的选项已经覆盖。
- 调查测试框架是为了方便分组, 毕竟使用相同测试框架的朋友在一起更容易沟通.
- 测试在 TDD 中是非常重要的, 因为 TDD 一个重要的利多就是用测试为重构提供保障, 测试的良莠将直接影响 TDD 的效能. 而且我的认知中, TDD 中的测试并不是传统意义上的单元测试, 更倾向于称之为'Feature Tests', 功能需求映射为大粒度的 Features, 再分解为更小的 Features. Feature 无论大小都有相应的测试与之对应, 根据粒度不同可能是功能测试, 集成测试, 或者基于状态的单元测试, 尽量避免涉及具体实现基于行为的单元测试. 如果把这些测试或 Feature 映射为 issue, 就成了 Issue-Driven-Development. 这种方法可以有效地管理测试, 不同 Team 可以面向不同粒度的测试, 比如 QA 负责大粒度的等效于功能测试的 Feature Tests. 一言蔽之, FDD->TDD->IDD. 用我编写测试的习惯来解释一下我的想法, 所有预先编写的测试我都以 '-Spec' 结尾, 表示这是我想要达到的效果, 方法层面只涉及 API, 重构必跑测试. 所有用于验证实现代码行为的测试我都以 '-Test' 结尾, 表示这是验证实现细节的测试, 会涉及所有方法, 与重构无关.
- 提高沟通效率这个问题可以另起一个issue,你来新建一个issue好吗?把想法写得详细点,谢谢
- 在 Discussion 里讨论会不会更好
- 分组这块我想想了,反正分组肯定是必须的,如果有人不希望分组或者分组就他一个人,那也可以。至于代码管理这块,我觉得是分组之后各个小组讨论的事情,也涉及到语言,可以选择分组后再讨论,也可以现在讨论,麻烦你新建一个关于代码管理的issue好吗?谢谢。
- 同上
- 学习期限的问题是个好问题,群里有些同学还在找工作,对学习期限是比较敏感的。我之前的想法是每周能投入多少时间来学习。因为我现在还不知道这个课程大概需要多少时间来学习,对自己能每周投入多少时间学习倒是可以预估。把这个问题加入讨论很好。
学习计划或期限?1月之内,2-3个月,4-6个月,6个月以上
- 每周学习时间可以和沟通放一起讨论. 除了组内讨论外, 还是应该定期提供个共同交流的机会.
- 关于学习目标,我觉得暂时要是考虑用填空题好了,你给的几个选项都不是我的学习目标:)
- 当然可以, 我抛砖引玉嘛.:)
谢谢指导,那我留一个测试工具的问题吧。
上面的几个问题确实放Discussion里讨论会更好,但我暂时还没开放这个板块,等把大家的github账号加入到repo里再说吧。先把这个记下。
所以照此思路。目的大约就是 1、多人合作情况下,任务边界,以及个人对自身任务分解的过程中,所涉及的共公小组件,小方法。如何减少重复。 2、TDD中自身准备的众多path,与测试团队提供的用例间。提前沟通的时机和闭环。 3、基于常用springboot技术栈下,服务内,服务间的挡板工具选择和统一(需要有些实践经验支撑)。
谢谢你的回复,但这个好像不是这个issue所要讨论的问题哈,你可以开个issue讨论一下这个问题。