老师这样注释如何

老师这样注释如何

// 对图片进行分类

  Img.prototype._classify = function(data) {

    // 分类过的图片src,存放到srcs数组,通过它判断这个需要进行分类的图片是不是已经生成过了

    let srcs = [];


    data.forEach(({ title, type, alt, src }) => {

      if (!this.types.includes(type)) {

        this.types.push(type);

      }

      //Object.keys( ) 会返回一个数组,数组中是这个对象的key值列表。判断这个type类型是否存在于key值列表中

      //不存在的话,先初始化一个空数组放这个类型对应的图片下标,key=>属性名 data[key]=>属性值。键值对,即 类型:图下标1 图下标2 

      if (!Object.keys(this.classified).includes(type)) {

        this.classified[type] = [];


      }


      if (!srcs.includes(src)) {

        // 图片没有生成过

        // 生成图片

        // 添加到 对应的分类中

        srcs.push(src);


        let figure = document.createElement('figure');

        let img = document.createElement('img');

        let figcaption = document.createElement('figcaption');


        img.src = src;

        //img.alt = alt; 也可以

        img.setAttribute('alt', alt);

        figcaption.innerText = title;


        methods.appendChild(figure, img, figcaption);


        this.all.push(figure);

        //因为开始都是新生成图片,所以all最后一个图片的索引(长度-1)就是需要加入到当前类型的图片索引

        this.classified[type].push(this.all.length - 1);


      } else {

        // 去all中 找到对应的图片

        // 添加到 对应的分类中

        //function(s1){return s1 === src},srcs里地址下标和all里图片下标是对应的,

        //所以可从srcs里遍历,实现src相等的图片其索引下标位置加进对应type分类中

        this.classified[type].push(srcs.findIndex(s1 => s1 === src));

      }


    });


  };

建议慕课网:

对于这样的实战,多一些逻辑分析,流程,如何设计这样的功能,比如比较完整的流程图说明,敲代码的时候更清晰,当然本节有文字注释说明,也算有流程方向。

希望能够有书面文档说明,毕竟没有字幕,得听好多遍,才有些印象要做什么,为什么,如何 ,实现这样的功能。

相对花时间,有些方法不熟悉或者没见过,也算学习新方法知识和复习以前的知识了。

对于本节中,用到的方法,也可以一并简单说明整理到文档中

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好!

同学的方法是很对的~

前期对项目的分析,流程包括流程图是产品经理给提供的一个开发文档,是对整个项目的大体把控,

同学主要做的是在项目中每个页面的布局,js代码的逻辑构思,是在写代码之前要做的,而不是一接到项目就埋头去写代码。可以把这些也写在文档中,方面后期开发时候使用。

有的公司要求兼容性,所以这方面是需要积累的(也有不需要的,那就不需要积累),对于公司的代码规范要求,同学可以在工作中其他同事的代码中看出来,或者有相关的规范说明,还有优化是公司方面的要求,但是代码要尽量做到简单 明确 方面团队合作和后期维护~

如果帮助到了你 欢迎采纳 祝学习愉快~

  • 阿感 提问者 #1
    嗯好的谢谢老师
    2019-04-26 17:15:28
好帮手慕码 2019-04-26 16:22:03

同学你好!

代码效果实现很好,对于代码的注释也很详细明确,继续加油~

对于同学的建议我们接收到了,我们会做一个综合评估,之后会反馈的!

这边老师也建议同学在做项目之前可以先做一下简单的项目分析,整理一些文档说明等。在以后的工作中,整理文档的能力必不可少,所以同学可以实现培养一下这方面的能力~

如果帮助到了你 欢迎采纳 祝学习愉快~


  • 提问者 阿感 #1
    嗯嗯好的,谢谢老师。另外想问下工作中,整理文档应该怎样的,我想代码注释应该是必须的,然后书面文档会有项目分析,流程等,对于代码中可能出现兼容性问题的应该也会说明和写一些解决方案,更高级的前端应该对优化思路进一步发展吧。可能不同公司还有一些规范要求,方便以后包括自己在内的进行维护开发
    2019-04-26 16:59:44
提问者 阿感 2019-04-26 16:11:55

设计原理,

初始化里定义types存放所有图片类型,all放着所有图片元素。

srcs数组里存放着所有进行分类过的地址,all和srcs图片对应的下标一样。classified存放着不同类型及其对应图片从all里取来的下标。先判断类型是否存在,没有就加到存放类型的types里;判断type是不是classified里的键值对中的key,如果还没有的话,把这type作为key,并设置空数组存放这个type对应的图片下标,也就是key对应的值;判断图片的src存放到srcs里没有,没有的话把src存进去,src是data数据里准备好了的,所以不需要生成。因为需要显示到页面,所以得生成图片元素,后面来操作显示到页面上。并把图片元素传给all里存放,接着对新生成的图片进行分类,因为操作的是同一对象,所以this.src和this.type都是指同一个,又因为都是新生成图片,所以最后传进all里的图片下标也就是我们应该把它填进该type类型里的图片下标数字。

如果srcs里有这个src了,那么从里面取出来进行分类。根据srcs里地址下标和all里图片下标是对应的关系,所以可从srcs里遍历,实现src相等的图片其索引下标位置加进对应type分类中。


  • 同学你好! 你能这一块的设计原理理解的这么透彻,说明同学自己思考了,理解了,很棒~ 继续加油哦~ 祝学习愉快~
    2019-04-26 16:24:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
热门框架Vue开发WebApp 18版
  • 参与学习           人
  • 提交作业       209    份
  • 解答问题       3299    个

本路径是通过ES6基础知识、运用Zepto、Swiper、fullPag等移动端常用工具包、以及当下流行框架Vue,结合多个实战案例,还原真实开发场景,最终实现手机端购物商城网页开发。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师