这幅画如何改变了我作为一名开发人员

这幅画如何改变了我作为一名开发人员
Internet Junkie的第一个图纸和版本

今天,我想与您分享这个小图面如何成为功能性的chrome扩展,以及它如何改变了我作为开发人员的方式。 有一天,浏览互联网时,我发现自己完全失去了时间。 我认为,如果我可以追踪浪费的上网时间,那将是一个好主意。 为了解决这个问题,我决定进行最终成为Internet Junkie chrome扩展的程序。

Instagram上关注我以了解我的最新动态.????

它是如何开始的

我从jQuery开始。 我希望我可以使用React或其他流行的框架,但是我必须使用当时的知识来实现​​它。 我很想学习其他库和框架,但是没有将它们应用到它们的项目。 我是那种总是尝试从我的工作中获取价值的学习者。 每当我打算学习一些东西时,我都喜欢将其应用于我遇到的现实问题。 我不喜欢仅仅因为“每个人”都认为了解知识而学习东西-我想通过找出可以帮助我解决问题的最佳方法来学习。

在某个时候,jQuery变得混乱了,我开始考虑切换到AngualrJS。 转换具有挑战性,但更重要的是,它使我遇到了扩展问题。 现在,我有太多的代码可以使用。 我在角度控制器中有不必要的逻辑,我的代码是重复性的,并且感觉没有组织。

所以我决定将其清理一下。

小步

我将Internet Junkie分为不同的功能,并将与此功能相关的所有内容都放在同一文件夹中。

这幅画如何改变了我作为一名开发人员
特征星空

对于应用程序逻辑,我将background.js(位于背景文件夹中)中的所有内容转换为一个模块,计划将来在较小的模块中进行拆分。 Browserfy帮助我捆绑了所有内容,并添加了Jest进行测试。

学习测试-我的“啊哈!” 时刻

在处理这个项目之前,我总是害怕测试,而且看不到其中的价值。 我想:“为什么我要写两次代码”。 现在我知道为什么这对我没有意义。 我看不到这些价值,因为我的许多早期项目规模很小且生命周期短。

当我日复一日地在Internet Junkie上工作时,我注意到我变得害怕仅仅因为它们已经在工作,而对项目的某些部分进行更改。 我有这种担心,因为我不再信任我的代码了! 这是显而易见的,为什么测试是“必须的”! 在编写并用测试覆盖了我的代码的70%之后,对代码重构的恐惧消失了。 我变得更加自信,可以专注于新功能。

这个项目如何改变了我

我不再是以前的开发人员了。 现在,在开始一个项目时,我尝试牢记这些重要的知识:

1.早期的决定可能会产生积极和消极的影响。 请仔细考虑您决定使用哪种语言和框架。 您要解决的问题是什么,您使用的是正确的工具吗?

2.编写可重用的代码。 如果可能,请将您的代码分解为较小的功能,并重用常见的部分,以使代码保持DRY (请勿重复)和可读性。

3.测试! 编写测试不仅可以帮助您更好地理解代码,而且可以使您充满信心地进行更改,而不必担心意外引入错误。

4.不要害怕犯错误! 我将此引用用作编码“快速移动并破坏事物”的指南。 这个想法是,如果您从不破坏任何东西,那么您可能移动得不够快。

5.找人给你反馈。 如果您有5–10个用户可以激发您为他们开发出最好的应用程序,那就可以了!

互联网迷教我什么

对我来说,最大的收获就是计划的重要性。 在代码中构建新内容时,您经常会卡住。 有时太多了,很容易灰心。 我意识到自己陷入困境是因为我的任务太大而无法开始。 我学会了花更多的时间计划和分解成较小的部分。 在使用Internet Junkie时,这种方法对我有很多帮助,没有它我将永远无法完成。

最后,我了解了找到执行该项目背后的原因的重要性。 对我来说,没有目标,我会失去动力,没有动力,这将不再有趣。 谁喜欢做自己不喜欢的事情? 有时您必须选择,但必须更好。 我会做出一些有助于或节省人们时间的事情而受到激励。

当我弄清这一点时,所有事情都浮现在脑海,我知道接下来该做什么。

今天的样子

我发布了一个稳定的工作版本,但是还有更多。

这幅画如何改变了我作为一名开发人员
今天的互联网迷!

我认为每个人都有自己的学习方式,这是我的。 我希望这能激发那些陷入困境或即将开始项目的人。

谢谢阅读! 如果喜欢,请在下面给我一些鼓掌。 ????

Internet Junkie ,您最好的Internet时间跟踪器。 跟踪您在浏览器上花费的时间,并分析您的在线生产力。 Internet Junkie将显示您整整一周访问的十大网站的统计信息!

感谢 Jen Nicole Taylor 帮助我编辑本文。

From: https://hackernoon.com/how-this-drawing-changed-me-as-a-developer-a0ff79457f20