代码之丑
郑晔
开源项目 Moco 作者
19833 人已学习
新⼈⾸单¥59
登录后,你可以任选2讲全文学习
课程目录
已完结/共 24 讲
代码之丑
15
15
1.0x
00:00/00:00
登录|注册

课前热身 | 这些需求给到你,你会怎么写代码?

你好,我是郑晔。
我在开篇词中提到,缺乏识别代码坏味道的感觉,这才让很多问题代码堂而皇之地留在了自己的眼皮底下。识别坏味道,单纯学理论是不够的,你得结合具体问题进行分析,所以我才在课程中加入了大量真实的代码案例,帮助你理解坏味道。当然,除此之外,你还要有足够多的练习。
为了让你能够深度地参与到这个专栏的学习中,代码能力得到有效提升,我准备了一个课前热身的环节:大家一起来写代码。
我们要编写一个待办事项管理的软件,你可以看我下面给出的需求,它是以命令行应用的方式存在的。

第一阶段:基本功能

添加 Todo 项。
todo add <item>
1. <item>
Item <itemIndex> added
完成 Todo 项。
todo done <itemIndex>
Item <itemIndex> done.
查看 Todo 列表,缺省情况下,只列出未完成的 Todo 项。
todo list
1. <item1>
2. <item2>
Total: 2 items
使用 all 参数,查看所有的 Todo 项。
todo list --all
1. <item1>
2. <item2>
3. [Done] <item3>
Total: 3 items, 1 item done
要求:
Todo 项存储在本地文件中;
Todo 项索引逐一递增。

第二阶段:支持多用户

用户登录。
todo login -u user
Password:
Login success!
用户退出。
todo logout
Logout success!
要求:
只能看到当前用户的 Todo 列表;
同一个用户的 Todo 项索引逐一递增;
当前用户信息存储在配置文件中 ~/.todo-config。

第三阶段:支持 Todo 列表导入和导出

确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

这篇文章介绍了一个待办事项管理软件的开发需求,分为四个阶段逐步完善功能。第一阶段包括基本功能的实现,如添加、完成和查看待办事项;第二阶段增加了多用户支持和用户登录功能;第三阶段实现了待办事项列表的导入和导出;第四阶段则支持了数据库持久化。作者鼓励读者根据自己的实际编码情况,按照需求逐步完成代码,并在GitHub上提交。此外,作者还提到了对代码的要求和评选最整洁代码的计划。整体而言,这篇文章通过实际需求案例,引导读者进行代码编写训练,强调了任务分解的重要性,并展望了对代码的点评和奖励计划。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《代码之丑》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(28)

  • 最新
  • 精选
  • adang
    交作业 github地址:https://github.com/caitlingao/task_demo 交付内容包括:四个阶段的代码和每个阶段简单的开发分析设计文档 最近在学习Rust,所以尝试用Rust完成这次作业,断断续续用了一周多终于完成第一版,在第一版的基础上又重构了一版,这是重构后的第二版。

    作者回复: 真棒,有 Rust 的版本了!

    2021-01-13
    4
  • 北海
    前端er来提交代码了😋 完成了前三个阶段 https://github.com/front-end-captain/todo

    作者回复: 继续加油!

    2021-01-12
    2
    3
  • Jxin
    第一阶段,草草写完,有些地方还是设计得有问题,后续在优化。 https://github.com/Jxin-Cai/ugly-code-work-jxin

    作者回复: 改进慢慢来。

    2021-01-02
    2
    2
  • 我终于可以交作业啦,虽然只是第一阶段,但是居然花了我近20个小时,果然变写代码,菜是原罪啊 ,地址:https://github.com/chenmingchao92/todo-manager

    作者回复: 多好的一个练手的项目啊!可以重写几遍试试。

    2021-01-07
    1
  • rubys_
    https://github.com/eleven26/todo-cli 第一版一个文件里写完了,重构了一版,真正理解了很多设计上带来的好处。

    作者回复: 我在《程序员的测试课》中给出了一个我写的实现,欢迎参考

    2021-08-20
  • 不记年
    https://github.com/JetaimeNotLove/todo 第一阶段基本完成, 明天完善下,感觉写的还不错,期待下面的课程打脸哈哈

    作者回复: 一起加油哦!

    2021-02-21
  • 王登武
    https://gitee.com/wangdengwu/todo-list/ Java实现 目前完成了第一阶段。

    作者回复: 继续加油!

    2021-02-08
    2
  • SnoWalker
    完成第一个阶段,努力在结课前都完成 https://github.com/TaXueWWL/todo-board

    作者回复: 加油啊,马上就要结课了。

    2021-02-07
  • Sun
    https://github.com/tofdragon/todoList

    作者回复: 欢迎加入代码改进之旅。

    2021-01-24
  • 呆呆狗的兽
    第一阶段昨天下午工作之余写的,今天上午来交个一阶段的作业,有空了剩下也会继续写的 https://github.com/kamjin1996/todo-manager

    作者回复: 加油!

    2021-01-14
收起评论
大纲
固定大纲
第一阶段:基本功能
第二阶段:支持多用户
第三阶段:支持 Todo 列表导入和导出
显示
设置
留言
28
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部