大多时候大家都在做业务开发,然后上网逛逛论坛、看下博客和专栏,很少在业余时间动手训练自己的编码能力 —— 数据结构与算法、设计模式和项目架构等这些在业务开发中比较少接触到的。虽然有些人会专门去刷 LeetCode,但是在缺少项目应用的情况下,很容易忘记。我打算从一些列的应用想法出发,去训练自己的编码能力。

想法收集

很多框架的练习项目都是以 todo-list 或 tic-tac-toe 为例,在学完后想要做更多练习,可以参考下面的这些项目。

制定计划

  • 从简单到复杂来选定题目
  • 分阶段实现复杂的题目,每个阶段为一周

以计算器应用为例:

  1. 第一周:只考虑整数的加减乘除,实现算数表达式解析;
  2. 第二周:封装框架无关的计算器模式,类似日期处理库 Moment 那样;
  3. 第三周:扩展计算逻辑,支持括号、撤销操作和小数等;
  4. 第四周:总结存在的问题(可阅读性和维护性),利用命令、插件或状态等设计模式简化计算器模式的逻辑,实现插件化的可扩展计算器模块;
  5. 第五周:使用 TypeScript 改造;
  6. 第六周:计算器模块支持单元测试;
  7. 第七周:计算器引用支持端到端测试;
  8. 第八周:npm 库管理(了解做一个 npm 库除了源代码还要做好哪些事情,例如:兼容性、版本管理和使用说明等)

练习记录

计算器


zhbhun
1k 声望5 粉丝

引用和评论

0 条评论