04|TDD演示(4):实现对于列表参数的支持

2022-03-16 徐昊
《徐昊·TDD 项目实战 70 讲》
课程介绍


讲述:徐昊

时长:大小6.55M


你好,我是徐昊。今天我们来继续进行命令行参数解析的 TDD 演示。
首先让我们回顾一下题目与需求与代码进度。如前所述,题目源自 Bob 大叔的 Clean Code 第十四章:
我们中的大多数人都不得不时不时地解析一下命令行参数。如果我们没有一个方便的工具,那么我们就简单地处理一下传入 main 函数的字符串数组。有很多开源工具可以完成这个任务,但它们可能并不能完全满足我们的要求。所以我们再写一个吧。
 
传递给程序的参数由标志和值组成。标志应该是一个字符,前面有一个减号。每个标志都应该有零个或多个与之相关的值。例如:
 
-l -p 8080 -d /usr/logs
 
“l”(日志)没有相关的值,它是一个布尔标志,如果存在则为 true,不存在则为 false。“p”(端口)有一个整数值,“d”(目录)有一个字符串值。标志后面如果存在多个值,则该标志表...

展开全文
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。

精选留言

  • 🐑
    置顶
    2022-03-22
    大家好~我是TDD这门课的编辑辰洋~ 🎐我来友情提示一下下~ 01-04是视频演示,好对TDD有个感性的认识。 05-10是对演示的复盘,同时也会讲解TDD的相关知识点。比如测试的基本结构,TDD中的测试是啥~ 所以,如果你在01-04的操作卡壳了,可以从05开始学,看看5-10,这才是重点哇。看完再回头去看01-04~
    展开
    
    1
  • 阿崔cxr
    2022-03-17
    文中几个点 都是当初学习 tdd 的时候 纠结半天的点 比如 1. 一开始从接口出发 那么这么大的步骤如何驱动出来 2. 重构出来多个类之后,应该如何选择测试哪个 (是继续测试大的,或者测试小的功能) 当初自己思考了很久, 这几篇文章就可以明白了。 这节约了太多时间了 [苦涩]
    展开
    
    3
  • Frode
    2022-03-22
    我好像是个假的java程序员,为什么能这么6
    
    2
  • 奇小易
    2022-04-07
    2W2H笔记 What Q: TDD的三个特点 A: 1、有序,通过将要完成的功能分解成任务列表,在将任务转换为测试,用测试来体现研发的进度, 将开发过程变成了有序的流程。 2、可控,在修改代码时,随时执行测试以验证功能,及时发现错误,降低发现错误、定位错误的成本, 降低修改错误的难度。 3、自信,随着逐步的开发,对于最开始的功能有了更加清晰的实现思路,并且也能更稳定、更快的实现它。
    展开
    
    
  • Gojustforfun
    2022-04-02
    Go演示git提交记录: https://github.com/longyue0521/TDD-In-Go/commits/args Commits on Apr 2, 2022 ~ Commits on Apr 1, 2022 之间的内容与本篇文章基本对应. Go 1.18泛型特性刚刚推出正式版,还没法与Java相比.我也在摸索中前行,使用的可能也不地道,欢迎高手指教. 采用baby step每步都有提交记录可以对比学习. 如果觉得本项目对你有帮助,欢迎留言、Star
    展开
    
    
  • 萧
    2022-03-29
    老师确实到了大师阶段,看着老师写代码是一种享受,老师现在写代码已经到了艺术品的境界了。 向老师学习,希望也能到达这种写出艺术品的水平!
    
    
  • Frode
    2022-03-28
    照葫芦画瓢写了一版本:https://gitee.com/frode_success/tdd.git 这周的目标把本周更新的三节理论课学习完成后,再独立写一遍

    作者回复: nice

    
    
  • aoe
    2022-03-27
    感受到了极限编程的气息! 学习笔记:http://wyyl1.com/post/19/04/

    作者回复: good

    
    
  • webmin
    2022-03-27
    通过观察最初列出的TODO List与最后完成的代码,感觉两者更像是接口定义与实现的关系,TODO List是列出了想要的功能定义,功能的实现是可以有多种的方式和不同的质量的,TDD是帮助我们从可用代码进化到优质代码的一种优秀的工程实践方法。 到达目标(TODO List)的路很多条,在没有上帝视角的情况下,唯有通过实践才能得知在当前条件下哪个路径是最佳的,TDD可以帮助减小改进的成本,固化测试知识,每进行一次回归测试收益就增加一次。

    作者回复: good

    
    
  • Numbpad1
    2022-03-26
    完整跟着老师敲了一遍,学到了不少重构的skills,太赞了!!!
    
    
  • sky
    2022-03-19
    看到了差距,不仅仅是折服。
    
    
  • Leo
    2022-03-19
    交作业,请多多指教 https://github.com/JTR354/tdd-practice

    编辑回复: 非常赞~

    
    
  • 邓志国
    2022-03-17
    学到不少手法,马上安排敲一遍
    
    
  • 腾挪
    2022-03-17
    👍
    
    