反思我完成检查点的学习经历

iDex — InvertedIndex检查点I

这是我一生中最吸引人的时期。 毫无疑问,这是我迄今为止所遇到的最艰巨的学习经历。 想到幼儿园,也许我错了。 但是,我一直都参与其中。

在过去的三个星期中,我一直被要求在检查点I上工作—用javascript构建一个反向索引类,并使用angularjs实现。

旅途是不可思议的。 在途中学习角度,同时加快执行速度以达到截止日期。

注意 :托管项目可以在此处(iDex)和Github上找到(倒排索引)

以下是一些我最深刻的学习成果的摘要:

模型视图控制器(MVC):在此之前,我对MVC框架只有基本的了解。 当我得到这个项目时,我没有意识到MVC在其中的作用。 在重构代码并获得反馈之后,就在昨天,回想起我所做的事情,我意识到InvertedIndex类是模型,角度控制器当然是控制器 ,而index.html是我的观点 。 我立刻想到了需求是什么—了解应用程序结构以及这些部分之间的独立性如何发挥作用。 实际上,我的反向索引类旨在独立于控制器。 控制器的作用仅仅是将数据从模型绑定到视图。

iDex中的MVC

ES6:现在有了ES6,我爱上了Promises。 也许是因为它们的结构使代码流更清晰,或者也许我只是喜欢遵守Promises。

我还意识到在forEach上使用地图不仅具有速度优势,而且还支持方法链接。 我认为那太好了。

总体而言,现在我对使用ES6进行实际项目感到更加放松。

Angularjs: AngularJS是用于构建单页应用程序(SPA)的前端框架,需要完成此检查点。 做到这一点很棒,并看到了angularjs的优势。 尽管有更大的好处,但我不再害怕它。 我喜欢它。

Git和Github:使用git和Github等工具促进了敏捷开发。 在完成此检查点时,我对这些工具的了解和使用继续增长。

单元测试:我认为测试或多或少是我在训练营所做的。 现在,我对测试过程产生了更大的热爱。 但是,在完成这个项目时,确实有两个测试过程引起了我的兴趣。

首先,我开始了解如何编写异步方法的测试。 我花了很长时间才下定决心,很高兴我做到了。

其次, 覆盖范围。 这是关于要测试的代码量。 要获得“有效”的100%覆盖率,则意味着您正在测试每个点以及代码中的条件/状态。 第一次尝试时,我的覆盖率达到91%,然后我不得不编写更多的测试用例,使它们深入代码,结果覆盖率为100%。

通过在Heroku(iDex)上托管的完整项目,我感到很称职。

总体学习经历相当艰苦,但却是冒险的。 某些事情,我想继续努力。

PS :我不确定为什么我将应用程序命名为“ iDex”,但这很酷,而且我喜欢命名。