专栏首页web前端教室【蒙圈】自己写的Js,自己不认识了?

【蒙圈】自己写的Js,自己不认识了?

最近在讲课的时候,发现一个新问题,就是许多同学面对着自己写完的代码,蒙圈了。

我是谁?我在哪里?我在做什么?这些代码是怎么出现的?

说来可能难以相信,明明是你自己写出来的代码嘛。

但是,下课之前我说,今天的作业,如何如何要求,格式什么样,标明用了多长时间,然后就有同学在学习群里问我,。。原话记不太清了,大概意思就是,自己写的看不明白了,还得再写一遍呀?

我说,要这样你何止再重写一遍啊,你得反复多写几遍才行。然后跟我说没思路,我说每个功能点,每个函数它们是如何交互、沟通的,我都给你们画思维导图呀,

。。。

。。

如此这般吧。

咱们在课上写代码的时候,能写出来主要有二个因素,

1、我刚讲完,脑子里还有印像;

2、我把代码都写好了,在视频里你们都能照着写;

写完之后,脑子里印象退散,又没有代码参考,思路又不太到位,自然再看自己的代码就蒙圈了。

在我个人看来,咱们前端新人写代码的时候,容易只顾眼前,就是很容易顾头不顾尾。所以写完之后,最好就是从头到尾再检查一遍。如果js运行没有错误,那么就把JS的格式再清理一下,

<!-- -->

那么,回到根本的问题,JS代码怎么读比较适合呢?

写东西之前,

1、分析UI设计图的功能结构;

2、根据功能、结构,理清此模块的交互顺序;

3、把各个交互的元素的id名写好;

4、根据1,2,3,先定好各自的函数方法,还有调用关系;

我又给同学们画了个思维导图,就这样式的,

如果你拿到的,是一个项目文件,并且它的文档不完整的时候,

阅读代码的我个人主观的基本方法:

1、先找入口,起点;

2、找到它定义的地方;

3、把它所有的方法、属性,都列出来;

4、找到它们之间的调用的关系;

5、各个方法之间,传递的参数;

把所有的方法里,用到的所有的参数,

谁跟谁,都理清楚。

6、就开始用中文,

描述各个函数以及它收到或返回的参数的用途。

7、把你的中文描述,再画一个图;

8、用你写出来的“中文文档”,再加上代码结构的图,回过头来,再对照着看代码。

就是,无论多么长的代码,多么复杂的代码,我个人吧,都是这么看,这么读。

尽量不要生生的硬看代码。

遇到bug,一时找不到原因,可以使用排除法,

1、大段的删除代码,查看bug是否消失;

2、不断缩小删除的代码的范围,直到定位bug;

3、排除bug;

本文分享自微信公众号 - web前端教室(webfeel),作者:老尚

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-05-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 刚进公司,接手了一个烂项目,要不要继续?

    如题,刚进公司,说是做新项目,刚开始有一些眉目。结果领导不知从哪接了个活儿过来,代码各种烂,重复代码一堆,一个大函数1000多行。说是临时抽你过来顶上去做,做一...

    web前端教室
  • JS本身并不难,为什么前端学起来感觉很难?

    image.png 这个问题我就不等大家的回答了,相信大家也明白,我并不是闲的无聊这么问。JS本身语法并不难,它困难的地方在哪呢?主要在于以下几点: ? 1,怎...

    web前端教室
  • 需求很简单,但代码写的很复杂,这是为啥呢?

    勤劳一些的同学应该会经常的去看其它人的代码,经常会发现明明很简单的需求,但代码的具体实现却写的很复杂,这是为啥呢? 面对这种问题,我一般会回复说,“为了应付各种...

    web前端教室
  • 告别狗屎代码,请记住这 11 条编码秘诀!

    我已经写了20年代码了,在此期间曾与17个团队共事过,使用不同的语言做过数百个项目。

    Java技术栈
  • 为什么开源可以提高程序员的编程技能?

    为什么开源可以提高程序员的编程技能? 我已经写了很多年的软件。最近我意识到,我越涉及(致力于,结合于等)开源技术,我写出来的代码就更好。这不由地让我疑惑起来:难...

    用户1289394
  • 从条件运算符说起,反思什么是好代码

    那什么样的代码才是优秀的代码呢?对于这个问题,我想每个人心中都会有自己的答案。今天我就来和你聊聊我的思考。

    架构师修炼
  • 高级Python工程师教你如何正确写代码

    我接手的第一样东西就是React UI。我们有一个主要组件,它容纳了其他所有组件。我喜欢在代码中加入一点幽默感,我想把它命名为GodComponent。在cod...

    小小科
  • Dead Code为什么能在代码库中永生?

    在一些遗留系统中,经常会看到大片大片灰掉的代码(被注释掉了),这种代码是死代码吗?如果要我下定义,我认为这些不是死代码,因为它们连代码都称不上,如何又能叫死代码...

    袁慎建@ThoughtWorks
  • JS逆向时碰到了恶心的死代码怎么办?手把手教你解决!

    你是否也曾有过「跟着代码跳了很久之后,才发现那一大坨代码其实没有任何作用」的惨痛经历?

    青南
  • JS逆向时碰到了恶心的死代码怎么办?手把手教你解决!

    你是否也曾有过「跟着代码跳了很久之后,才发现那一大坨代码其实没有任何作用」的惨痛经历?

    崔庆才

扫码关注云+社区

领取腾讯云代金券