精华内容
下载资源
问答
  • 缓存设置可以在head标签中进行添加 这里需要注意的是,no-cache 并不是... [软技能] 说说你了解的前端代码评审Checklist有哪些项? 受益匪浅啊: https://segmentfault.com/a/1190000019699193?utm_source=tag-newest

    2020-09-20 题目来源:http://www.h-camel.com/index.html

    [html] 微信H5页面如何更新缓存?

    缓存设置可以在head标签中进行添加
    
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=8">
    <meta http-equiv="Expires" content="0">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Cache-control" content="no-cache">
    <meta http-equiv="Cache" content="no-cache">
    
    这里需要注意的是,no-cache 并不是说浏览器不会再缓存数据了,而是在浏览器使用缓存数据时,需要确认数据是否还跟服务器的保持一致。
    
    当然,缓存的设置也可以在后台完成
    response.setHeader("Cache-Control","no-cache"); 
    response.setHeader("Pragma","no-cache"); 
    response.setDateHeader("Expires",0);
    

    这里说了一个例子 https://blog.csdn.net/woyidingshijingcheng/article/details/89926990

    [css] 使用了float的标签,如何避免左侧贴边重叠?

    1. 对此标签 设置 margin-left
    2. 嵌套外层div标签,padding-left
    

    [js] 把对象转换到字符串类型是如何转换的?

    1. 对象 转换 字符串 JSON.stringify(obj)
    2. 字符串 转换 对象 JSON.parse(str)
    
    前提是,str满足对象字符串格式。
    

    [软技能] 说说你了解的前端代码评审Checklist有哪些项?

    受益匪浅啊: https://segmentfault.com/a/1190000019699193?utm_source=tag-newest

    展开全文
  • 前端代码解耦,评审

    2019-01-09 07:15:18
    今天看到前端小我伙伴的代码,发现两个js之间的耦合度高,一个方法里变量,两个js相互引用,这样的代码不适合阅读,更不适合未来的交接. 具体如下: @action getList = flow( function* (data) { try { const res = ...

    代码解耦

    今天看到前端小我伙伴的代码,发现两个js之间的耦合度高,一个方法里变量,两个js相互引用,这样的代码不适合阅读,更不适合未来的交接. 具体如下:

      @action
      getList = flow(
        function* (data) {
          try {
            const res = yield modelProvider.getList(data);
            this.List = this.List.concat(.res.data);
            if (res.page) {
              this.total = res.page.total;
            }
            if (res.data.length < this.PageSize) {
              this.isMoreDisabled = true;
              console.log(res.data)
              return res.data;
            }
            this.PageNo = data.pageNo + 1;
            return res.data;
          } catch (e) {
            return handleError(e);
          }
        }
      ).bind(this)
    复制代码

    这里是store里的代码

      //获取设备列表下一页
      getMore = () => {
        const { PageNo, List, PageSize } = this.targetStore;
        this.setState({
          deviceLoading: true
        });
        getList({
          pageNo: PageNo,
          pageSize: PageSize,
        })
          .then(res => {
            console.log(res);
            message.destroy();
            this.setState({
              deviceLoading: false
            });
            if (res.length) {
              this.Progress();
            }
          })
      };
    复制代码

    这里是index.js里的文件的代码.

    很正常的获取列表的内容,在index.js里调用getMore函数,获取store里的PageNo, List, PageSize,这些变量获取后传递给store里的函数getList从后端拉取数据,然后store里返回数据给index.js做判断.

    以下是个人的看法 index.js里的文件引用store里的变量:PageNo,PageSize,index.js里的getList里的方法里需要接受来着store里的变量:res,两个js文件相互依赖,相互耦合,不利于后面的代码的维护,可能新增需求后要维护原来的代码会造成一定的困难,增加后续交接小伙伴交接难度. 在这里如果需要解耦的话,则index.js里面就不应该处理业务逻辑,把所有的业务逻辑都提到store里.

    转载于:https://juejin.im/post/5c359d9cf265da61285a4e1d

    展开全文
  • 网页前端项目评审参考标准

    千次阅读 2016-06-07 21:32:42
    2.不能每次都用鼠标拖到底部,再上去,可以不可以做个锚点回到顶部;...5.针对重复性代码,如何实现从189行代码到18行代码? 6.UI布局问题; 7.布局错乱的问题; 8.姓名2-4位验证,少数名族如何验证; 9.加上注释;

    视频课:https://edu.csdn.net/course/play/7621

    视频课:https://edu.csdn.net/course/play/7621


    1.注册UI问题,不对齐、密码不能随意输入,需要正则表达式验证;

    2.不能每次都用鼠标拖到底部,再上去,可以不可以做个锚点回到顶部;

    3.测试项目要通过IE和firefox 等多种浏览器的验证;

    4.文本框要加上自己的样式;

    5.针对重复性代码,如何实现从189行代码到18行代码?

    6.UI布局问题;

    7.布局错乱的问题;

    8.姓名2-4位验证,少数名族如何验证;

    9.加上注释;

    10.针对全选/全不选效果,如果所有子项都选中,则全选按钮是不是必须是选中的?

    11.样式风格要统一;

    12.清除自己网站的定位是什么?是新闻类还是电商类?如果是新闻类,则必须有发布、浏览、后台等功能;如果是电商类,则电商的所有流程要有;

    ----------------------------------------

    评审一组后的总结:学过了HTML、CSS、JS、JQuery,项目选题选新闻类,很多组JS效果,没有做,用到了很少的JS代码(很少用JQuery代码的),

    说不会的学员,要明白,你自己的吃饭、穿衣、走路,骑车、写字的能力是与生俱来的吗?是不是你经过你后天的努力完成,达到的的,通过,我们作为学生,

    要有学习技能、深刻领会老师所讲知识的动力和信心,扭转观念,主动学习,争取将来讲好的就业,做到2年6万行代码量!

    展开全文
  • 前不久Google开源了一份文档(谷歌工程实践文档),里面包含了他们的代码评审(Code Review)指南,通读之后我发现这份文档非常有价值,所以决定写一篇文章将一些入门的,科普性质的部分翻译并总结成一篇文章帮助...

    编者按:本文作者Berwin,W3C性能工作组成员,360导航资深前端工程师。《深入浅出Vue.js》作者。

    前不久Google开源了一份文档(谷歌工程实践文档),里面包含了他们的代码评审(Code Review)指南,通读之后我发现这份文档非常有价值,所以决定写一篇文章将一些入门的,科普性质的部分翻译并总结成一篇文章帮助大家了解下Google的代码评审。

    在Google开源的文档中,有两个内部的专业术语:CL和LGTM:

    CL,全称为“Change List”,表示已提交到版本控制或正在进行代码评审的一个独立更改。

    我理解和Github上的PR有点类似。

    LGTM,表示“Looks Good to Me”,当某个CL被批准后,评审者会说LGTM。

    1. 什么是代码评审
      代码评审是评审者(某段代码作者之外的人),对某段代码进行检查(审核)的一个过程。

    我们可以使用代码评审来维持代码和产品的质量,代码评审的主要目的是确保代码库的整体健康状况会随着时间不断改善。

    代码评审的另一个重要功能是,它可以教给开发者一些关于语言,框架,常用的设计原则等知识。

    1.1 评审什么
    当进行代码评审时,评审者应该评审:

    设计:代码是否拥有良好的设计,并适用于项目整体设计。

    功能:代码的行为是否是作者想要的?这种行为对用户是否友好。

    复杂度:能否让代码更简单?如果未来某一天,其他开发者遇到这段代码时,他们能否很容易理解并使用这段代码?

    测试:代码是否拥有正确,且设计良好的测试。

    命名:是否为变量,类,方法等选择了清晰的名字?

    注释:注释是否清晰且有用

    风格:代码风格是否符合项目标准

    文档:开发者是否更新了相关的文档

    本文的后面会针对上面提到的几点进行更详细的介绍。

    1.2 选择合适的审核者
    通常,开发者希望找到可以在合理的时间内响应自己审核需求的最合适的审核者。

    最合适的审核者是能够为代码片段提供最彻底,最正确地审核的人,通常是代码的主人。有时可能会请求不同的人帮自己评审CL的不同部分。

    如果与自己“结对编程”的人有资格作为这段代码的审核者,那么该代码将被视为已审核。

    1.3 代码评审标准
    评审者有责任确保每个CL的质量都使得代码库的整体健康状况不会随着时间而减少。这很困难,通常随着时间推移,代码库的健康会缓慢下降,尤其是团队处在时间限制下,为了快速迭代功能时。

    通常,只要CL可以改善整体代码的健康,评审者就应该批准,即便CL并不完美。

    这是所有代码评审指南中的最高原则。

    当然,这是有局限性的。例如,如果CL添加了评审者不希望出现在系统中的功能时,那么可以拒绝批准,即便代码拥有良好的设计。

    这里的关键点是,没有“完美”的代码,只有更好的代码。评审者追求的是持续改进,而不是追求完美。

    总体而言,只要一个CL能对整个系统的维护性,可读性和可理解性起到改善的作用,评审者就不应该因为它不是“完美”的而被延迟几天或几周再批准。

    评审者应该随时发表评论,表示某些代码可以变得更好,但是如果不是很重要,那么可以加上前缀“Nit:”让作者知道这仅仅是一个建议,可以选择忽略。

    留下一些可以帮助开发者学习新东西的评论总是好的,随着时间的推移,分享知识是改善代码健康的一部分。但请记住,如果评论仅仅是出于教育目的,请在评论前面加上“Nit:”前缀,表明不是强制要求作者在此CL中对其进行解决。

    1.3.1 原则
    技术事实和数据要优先于个人喜好和意见

    关于风格问题,团队的风格指南是绝对的权威。不在风格指南中的任何代码习惯都属于个人喜好问题。风格应该与现有代码保持一致。如果之前没有规定这样的代码风格,则接受CL作者的风格。

    软件设计方面从来不是纯粹的风格问题或个人喜好问题,它们基于基本原则,而不是简单的个人偏好。有时,会有几个不同的可行方案,如果作者能够通过数据或基于可靠的工程原则证明几种方案同样有效,那么评审者应该接受作者的偏好。否则,还是根据软件设计的标准原则进行选择。

    如果没有其他适用规则,则评审者可以要求作者的偏好与当前代码库保持一致,只要这不会影响整体代码的健康情况。

    1. 代码评审
      注意:在考虑以下要点时,始终确保考虑到前面提到的“代码评审标准”。

    2.1 评审“设计”
    代码评审中最重要的事情是CL的总体设计。代码中的各个部分之间的交互是否有意义?本次修改应该放在代码仓库中吗?它与系统中的其他部分可以完美结合在一起吗?现在是添加这个功能的好时机吗?

    2.2 评审“功能”
    CL的功能是否符合开发者的预期?开发者想为用户提供哪些功能?

    通常我们希望开发者会为CL提供良好的测试,但是作为评审者,仍然应该考虑一些极端情况,寻找并发现问题。尝试像用户一样思考,来确保这个功能没有bug,而不仅仅是通过阅读代码就确定没有bug。

    当CL是对用户有影响的改动(例如:修改了UI上某个功能),最重要的事是检查CL的行为。因为评审者只是阅读代码很难理解这个代码修改会对用户产生什么影响,对于这样的修改,如果评审者检查CL的行为过于麻烦,可以让开发者提供该功能的演示。

    2.3 评审“复杂度”
    CL是否可以实现的更简单?对CL的所有“级别”进行检查。某行代码是否过于复杂?功能是否过于复杂?类是否过于复杂?“过于复杂”通常意味着代码的阅读者不能快速理解。还意味着开发者在尝试调用或修改此代码时,可能会引入bug。

    关于复杂,有一种特殊的类型,叫做“过度设计”,开发者让代码过分通用,或添加了一些暂时还不需要的功能。评审者应该特别警惕过度设计。鼓励开发者解决他们现在需要解决的已知问题,而不是开发者推测的将来可能需要解决的问题。未来的问题应该在问题来临时解决。

    2.4 评审“测试”
    根据修改的内容进行单元测试,集成测试或端到端测试。确保CL中的测试正确,合理且有用,开发者必须确保测试有效。

    测试也是必须维护的代码,不要因为代码是测试代码就接受代码的复杂性。

    2.5 评审“命名”
    开发者是否为所有命名都选择了一个好名字?好名字应该足够长,以充分表达含义和作用,而又不会太长而难以阅读。

    2.6 评审“注释”
    开发人员是否写下了清晰的注释?所有注释都是必要的吗?通常当注释解释了代码为什么存在时非常有用,不应该解释代码做了什么,如果代码不能清晰的解释自身,则应该让代码更简单。有一些例外的情况(正则表达式与复杂的算法通常会从解释他们作用的注释中受益匪浅),但大多数注释是针对代码本身无法包含的信息,例如决策背后的原因。

    2.7 评审“风格”
    请确保CL的风格与团队的风格指南保持一致。

    如果想改善风格指南中没有提到的部分,请在注释前面加上“ Nit:”,以使开发者知道这是可以改善但不是强制性的选择。

    CL不应该将风格改动和其他改动结合在一起提交,这会导致查看CL中有哪些改动变得非常困难,还会使merge与回滚也更加复杂。例如,如果开发者想重新格式化整个文件,则需要将重新格式化的改动作为一个CL提交,然后再发送另一个具有功能改动的CL。

    2.8 评审“文档”
    如果CL改变了用户构建,测试,交互或发布代码的方式,请检查是否更新了相关文档。如果CL删除或弃用了代码,请考虑是否应该删除该文档。

    1. 总结
      本文提到的内容只是谷歌工程实践文档中的一小部分,感兴趣的可以看原文了解更多。

    通读了一遍谷歌工程实践文档后,我发现代码评审在Google内部是开发流程的一部分,和在Github上为开源项目贡献PR类似,开发者提交了PR后,项目作者肯定会先Review一遍代码,然后再决定是否将代码合并到仓库中,没有经过Review的代码是无法合并到仓库里的。

    但大部分公司不是这么开发项目的,我觉得这也是代码评审普遍做得不够好的原因。

    可能很多人会对代码评审有很多疑问,例如,将代码评审作为项目开发必须要走的一环,是否会降低开发效率。代码评审是否会消耗评审者很多时间。开发者和评审者之间发生了冲突怎么办等问题。

    这些问题在谷歌工程实践文档中有清晰的解释,感兴趣的可以去看原文。原文地址:https://github.com/google/eng-practices

    服务推荐

    展开全文
  • 关注前端瓶子君,回复“交流”加入我们一起学习,天天进步当人们谈论代码审查时,往往关注的是审查人员。但是编写代码的开发人员和阅读代码的人员对于评审来说同样重要。几乎没有任何关于如何准备代...
  • 代码评审可以被看作是计算机源代码的测试,它的目的是查找和修复引入到开发阶段的应用程序的错误,提高软件的整体素质和开发者的技能。代码审查程序以各种形式,如结对编程,代码抽查等。在这个列表中,我们编制了15...
  • 前端代码之丑(2):丑陋的条件语句 Posted on November 27th, 2010 in 思考  by lifesinger实际代码 今天的代码很简单,但每次评审时碰到类似场景,总会让我有些小不淡定:// 代码 1 if...
  • WEB前端安全编码规范评审

    千次阅读 2018-01-30 16:09:02
    它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。 1.2 安全风险 获取用户cookie、钓鱼、获取用户页面数据、蠕虫...
  • 2020.8.11,星期二 评审会议 今天开评审会议。 整个会议持续了一天,...1.在使用idea开发前端jsp的过程中,本人发现,虽然开启了自动更新代码功能,但是当修改代码后,浏览器中的内容并没有更新,需要手动刷新..
  • 最近社区有个很火的《向代码致敬,寻找你的第83行》的活动,缘起于前几天,在...那天代码评审现场,看到某代码片段最后结尾,多隆突然补上一句,往上翻看下第83行。代码一般都是几百行,他看到最后,居然还记得第8...
  • 前端名词录

    2017-05-18 09:12:00
    Code Review:代码评审(轻量级)。指在软件开发过程中,通过对源代码进行系统性检查的过程。  目的:查找系统缺陷,保证软件总体质量和提高开发者自身水平。  相对于正式代码评审,轻量级代码评审所需要的各种...
  • 后台前端框架

    2018-04-21 10:15:24
    最近需要通过后台实现一些提高工作效率的小工具,比如代码评审后台,采用了这个框架,主要是基于layui实现的,daniuit-X-admin-master 转载于:https://blog.51cto.com/4397407/2106039...
  • 2019.4.13周六下午,在公司进行了前端小组代码评审,这是参加工作以来自己参与的第一次真正意义上的代码评审,会上,广哥主要是想通过这次的代码评审让我们知道“详设”也就是【详细设计】的重要性。 会后,我反思...
  • 可以扩展到在线代码评审和成熟的编码/面试平台。 技术栈: React.js Java脚本 材质用户界面 威赛尔 使用的概念 前端和后端是分开制作的,以便可以分别缩放它们。 前端的每个部分和功能均由纯组件组成,使代码更...
  • 前端架构师的职责

    2019-09-22 05:18:20
    作为前端架构师, 首先要解决的问题就是让日益膨胀的代码可控,因此你需要 梳理代码, 建立架构, 组织文档, 管理架构的更新和维护, 评审技术方案对架构的影响, 核心模块的方案设计, 重点项目的方案设计, CodeReview 等....
  • 方法论,顾名思义,是通过日常项目的洗礼,经过自己的锤炼,形成一套方法体系。 在前端中,有着各种各样的方法论,每个...编码阶段:实行code review,利用Git的的代码评审机制,让同组的同事对当前项目的代码进行评...
  • 代码优化与code review

    2018-11-21 16:50:43
    最近听到一个词是“code review”即代码评审。不管是一些压力测试还是代码评审,都是为了将代码进行优化。  今天在看技术胖前辈的“vue+koa2电商项目”的时候,他提及到了代码优化。先将代码贴出来看。 目的: ...
  • java前后端分离,前端部署的方式

    万次阅读 2019-05-10 18:55:34
    目前公司在开发web应用时,普遍采取的是前后端分离的方式,将前后端的开发人员开发代码分开,后台使用java语言,前端使用node.js环境,vue语言开发,初期开发使用mock数据不依赖后台服务;一个项目评审后各自搭建...
  • 从业前端5年,总能遇到各种形形色色的人,有厉害啥都懂的人,有傻傻的啥都不明白的人,在程序行业内,便是写过代码与从来没写过代码的,软件从业者最大的需求方便是产品经理,或者第三方,或者直接对接老板了(以下统一为产品...
  • 补更: 之前没更新是因为那个时候还在评审,我看不到我的代码。 PS: 我做这题的时候正在浏览这个新闻,就直接复制了几段新闻内容,你们可以自己改内容。 课程导航 Web前端开发 客观题 编程题 概论 单元测试1 ...
  • 先自我介绍一下,我是前端程序媛妹妹,应届生,2019 年 7 月份入职到 2020 年 1 月已经工作半年,这半年里自己以肉眼可见的速度成长,写写这半年的经历,回顾总结一下,希望我的经历能给你带来不一样的“鸡汤”。...
  • 在与前端对接时,为了避免沟通结果与执行结果不一致的情况,应该在阐述了自己观点以后让前端再讲一遍,在达成共识的基础上进行开发,避免返工。为了表达清晰,对与功能比较复杂的逻辑,应该给出...
  • 性能是个特别有意思的话题,在我之前的工作中,从入门的初级工程师到高级别的技术专家,大家都很喜欢谈性能,我以前参与晋升评审,每年总能听到很多关于性能的晋升述职 那么,今天我就来谈谈我眼中的性能。 性能总论...
  • 后端代码自己写一下 【 推荐 】 电商项目 - 猫眼 一、 互联网软件开发流程 1. 需要分析 市场、运营、客户提出要求和需求 因为 xxx 我要做 xxx 举例: 我是做螺蛳粉商家,我想做一个点餐系统 产品经理提炼业务...
  • 1.对于美的东西我们很难拒绝,比如美女。哈哈哈,程序员的梗。...今后如果更加深入前端这块,我会更新后面学到的应用,我必会让我的代码更逻辑,更美观。 技术段: 在评审需求的时候,产品的需求会有...

空空如也

空空如也

1 2 3 4
收藏数 80
精华内容 32
关键字:

前端代码评审