① 作为前端,我怎么那么烦写代码!头疼
前端写代码是经常的事情了,你这是工作哈,工作我们是认真的。呵呵哒。
作为一个程序员,尤其是前段,做的多了,其实也会发现做的东西就那么点,对吧,没有什么难度。可能就是自己所做的有点枯燥吧,多做点有意思的设计会好点。
② Web前端应该学习的css代码编写策略
今天小编要跟大家分享的文章是关于Web前端应该学习的css代码编写策略。本篇文章的目的不在于规则手册,而在于你正在编写CSS时的指南。希望能帮助大家找到自己的流程,而这篇文章的目标是让你的CSS一致,简单,易于使用。下面我们就一起看一看css代码编写策略吧!
1、不要写不需要的样式定义
例如:编写display:block;时要注意,因为很多元素默认有这个样式。
另一个例子是在元素上定义字体大小,它将继承你正在定义的正文字体大小。
目标是双重的:
§减少CSS文件的长度,以便浏览。
§明确你的CSS类需要做什么,而不是定义一堆已经产生的垃圾。
这里有一个常见问题是CSS没有清理干净,此时,为了简洁起见,可以完全删除。
2、将CSS看做可重用组件
不要将CSS元素视为每个单独页面上的特定表单或元素,如果你可以定义可重用的CSS实用程序和组件以供自己使用,则可以减少很多复杂性。
编写旨在重用的类的作用:
§确保你的设计在不同的页面之间保持一致。当你在很多页面上共享CSS类时,你知道当你改变这个类时,它会在每一个出现的页面发生改变。
§
这使得编写CSS真的很快。首先,如果大多数样式被定义为你所知道的实用程序和类,那么你就不必花费大量时间刷新和重新创建应用程序中已存在的样式。
3、在CSS中定义实用工具来干你的CSS
我们将’utilities’定义为一个CSS类,实际上它只用来做一件特定的事情,而不是封装整个元素。
你会看到这个策略经常用于流行的CSS框架,如Bootstrap和Foundation。
在这些流行的框架中你所看到的一些例子是:
.hide{display:none;}.text-center{text-align:center;}
例如,使用.hide,就不必每次想要在页面上隐藏元素时就得编写一个新的类——你只需要在你的元素上加上.hide类,它会使元素display:
one;。
我们写了一些实用程序文件,这些文件在应用程序之间共享,使用一些常用的实用程序可以减少为每个元素编写特定样式的需求。
一个很好的例子是我们如何使用margin和padding实用程序。下面是padding实用程序的一个简单例子:
.padding-0{padding:0;}.padding-xxs{padding:5px;}.padding-xs{
padding:10px;}.padding-sm{padding:20px;}.padding-md{padding:30px;
}.padding-lg{padding:40px;}.padding-xl{padding:50px;}.padding-xxl{
padding:60px;}
通过结合使用这些工具,我们可以与我们间距的像素数保持一致,并且可以快速标记页面,而不必编写非常多的CSS。
实用程序背后的理念是,你认为你可能会不止一次地使用它们。如果它是一次性样式,或者如果你认为组合样式会经常使用,那么可能它作为CSS类将可以更好地工作。
4、除非绝对需要,否则避免嵌套
假设有一些复选框的表单。在这个特定的情况下,你需要复选框内联(并排)。
所以你试图像这样写样式:
.user-formlia{color:red;}
然后在这过程中,你意识到你需要列表元素中的一个链接实际上是黑色的。所以你试图为黑色的链接编写一个工具类:
.link--black{color:black;}
此处.link_black链接将被CSS特殊性所覆盖,并且将无法压倒.my-formlia样式。
现在你可能想要确保列表元素中的所有锚标记是红色的,但是你不知道未来的元素会怎么样以及可能会对设计做出什么样的更改。
你可能会问,“好的亲,那么你怎么解决上面的问题呢?”
通过上面的例子,你应该明白锚标签的颜色应该是一个远离默认链接颜色的变体。
所以,在这种情况下,我会100%确定一个额外的工具类来处理红色链接。下面是实践中可能的处理例子:
a{
color:blue;
&:hover{color:black;
}
}
.link--red{color:red;}
然后将其添加到HTML中的每个li元素。
我在这里作出的假设是:某一天,此红色的链接将在应用程序的其他地方被使用。我不想把它嵌入到用户表单中,因为那样我就不得不在未来编写另外一个样式来说明需要红色链接的情况。
另外,因为我将自己的悬停定义在自己的锚点上,所以红色链接将会变成黑色悬停,而不必定义任何其他样式。
5、利用BEM防止嵌套
能够真正防止过度嵌套的一个策略是名为BEM(BlockElementModifier)的命名策略。
使用BEM的一个很好的例子就是当你有一个真正具体的样式的组件时,如果使用实用程序会太麻烦和复杂的话。
这个例子看起来像这样:
//HTMLsnippet
③ Web前端工程师该如何写出高质量的JavaScript代码
今天小编要跟大家分享的文章是关于Web前端工程师该如何写出高质量的JavaScript代码。很多正在从事web前端工作的小伙伴们都想知道怎样写出高质量的JavaScript。因为想写好一个JavaScript确实并不是一份简单的事情,所以我们来聊聊零基础要写好JavaScript代码的一些细节。关注好这些细节,你也能写出高质量的JavaScript代码了。
所谓的高质量的JavaScript代码,其实指的就是可维护性高,可读性高,可拓展性高的代码,不仅开发的过程中写得舒服,而且后期维护也很轻松的代码质量。让我们一起从细节来把握我们的JavaScript质量。一、可维护性高的代码在我们开发过程中,当出现bug的时候,我们立刻去修复,这时候解决代码bug的思路是最清晰的。否则,你去做了别的代码任务或者这个bug出现了一段时间,你再去处理,你就忘了你写的思路是什么了,那这时候去处理这些代码你就需要想两个问题了:
1.花时间去学习和理解这个代码问题
2.花时间了解bug的解决方案
同时,你如果是在企业中做的大型项目,都是团队开发,开发和维护可能都不是同一个人(发现bug和修复bug的都不是作者)。
所以,必须降低大量的理解代码的时间,无论是你自己写的代码,还是团队中其他人的代码。
这关系到整个项目的发展和开发团队每个人的生活幸福啊,毕竟我们应该多花时间去研究更多好的代码想法,而不是时间都浪费在维护遗留代码里面。
所以,可维护性高的代码很重要,一般可维护性高的代码都有以下这些原则:
1._可读性高(例如好的命名,解析性强的注释)
2._一致性强(命名风格,编码风格,代码规范)
3._可预测性(明显看出运行效果)
4._风格统一(看上去就知道是不是同一个人写完的)
5._有记录(有清晰的注释开发记录)二、全局变量的问题什么是全局变量的问题,就是在你的javascript程序和网页中的所有代码都共享这些变量,他们都住在同一个命名空间里面(全局作用域),所以当程序在执行过程中两个不同部分定义同名但不同作用的全局变量的时候,命名冲突的情况就很常见了(许多小白遇到了就抓不着头脑了:咦,这个命名没问题啊,为什么报错了?)。
而且,网页里面包含有其他不是开发作者写的代码而产生的全局命名问题也是比较常见的。比如说:
1.第三方javascript库
2.甲方(或开发团队自己封装的代码)的脚步代码
3.第三方用户跟踪或分析代码
4.不同类型的UI组件
.....
这些带来的情况就很常见了,比如说,第三方脚本定义了一个变量,叫做userId,接着,你的函数里面也写了个userId的全局变量。这个时候的结果就是,后面的覆盖掉前面的变量,第三方脚本直接就无效了,这种情况是很难调试出来的。
所以,尽可能的少使用全局变量很重要,例如命名空间模式或者函数立即执行,不过要想让全局变量减少,最重要的还是多用var来声明变量。三、忘记var的副作用隐式全局变量和显式定义的全局变量是有点差异的。
具体如下:
·___ü_ar创建的全局变量(任何函数之外的程序中创建)是不能被删除的。
·___挥型ü_ar创建的隐式全局变量(无视是否在函数中创建)是能被删除的。
所以隐式全局变量并不是真正的全局变量,但它们是全局对象的属性。
属性是可以通过delete操作符删除的,而变量是不能的,具体的代码我这里就不说了。四、访问全局对象在浏览器中,全局对象可以通过window属性在代码任何地方访问(除非说你做了一些很超乎想象的事情,比如说声明了一个名为window的局部变量)。
但是在其他环境下,这个方便的属性可能被叫做其他什么东西(甚至在程序中不可用)。
如果你需要在没有硬编码的window标识符下访问全局对象,你可以在任何层级的函数作用域中做如下操作:
五、for循环在使用for循环的时候,可以遍历拿到数组或者数组类似对象的值,比如说arguments和HTMLCollection对象,一般我们的写法都是这样的:
这种循环的方式并不是很好,每次执行循环的时候都需要获取一次数组的长度,这个时候我们代码的执行效率就特别低了,特别是当myArray不是数组的时候,而是一个HTMLCollection对象的时候。六、不扩展内置原型
扩增构造函数的prototype属性是个很强大的增加功能的方法,但有时候它太强大了。
增加内置的构造函数原型(如Object(),Array(),或Function())挺诱人的,但是这严重降低了可维护性,因为它让你的代码变得难以预测。
使用你代码的其他开发人员很可能更期望使用内置的JavaScript方法来持续不断地工作,而不是你另加的方法。
另外,属性添加到原型中,可能会导致不使用hasOwnProperty属性时在循环中显示出来,这会造成混乱。七、避免隐式类型转换JavaScript的变量在比较的时候会隐式类型转换。
这就是为什么一些诸如:false==0或“”==0返回的结果是true。
为避免引起混乱的隐含类型转换,在你比较值和表达式类型的时候始终使用===和!==操作符。
八、编码规范建立和遵循编码规范是很重要的,这让你的代码保持一致性,一目了然,更易于阅读和理解。
一个新的开发者加入这个团队可以通读规范,能马上理解其它团队成员书写的代码,更快上手进行开发。九、缩进代码开发,标准的缩进是最基本的,没有缩进的代码基本就不能读了。唯一糟糕的事情就是不一致的缩进,因为它看上去像是遵循了规范,但是可能一路上伴随着混乱和惊奇。重要的是规范地使用缩进。十、注释注释这个,其实是应该只要是写了代码,都要有注释的,让别人一看你的代码就能快速理解你的代码。
在平时我们开发的时候,你很花时间去研究一个程序怎么实现,你会很清楚的知道这个代码是干嘛用的。但是,你一周之后回来再看这段代码,你就会烧掉很多脑细胞了。
当然,注释也不能走极端路线:有的人就说不是要理解没一段代码吗,那每个单独变量或是单独一行就给一段注释。这样就很没有意义了。
一般来说,注释都是记录在函数的部分,它们的参数和返回值,或是一些不寻常的技术和方法。通过注释可以给你代码的未来阅读者以诸多提示;
阅读你代码的人需要的是(不要读太多的东西)注释和函数名来理解你的代码意义。十一、花括号{}花括号(也称大括号,下同)应该多使用,即使在它们为可选的时候。技术上来说,在in或是for中如果执行语句仅一条时,花括号是不需要写也能执行理想效果的,但是你最好还是用花括号,因为这会让你的代码更有持续性和易于更新,并且更加好理解。
以上就是小编今天为大家分享的关于Web前端工程师该如何写出高质量的JavaScript代码的文章,希望本篇文章能够对正在从事web前端工作的小伙伴们有所帮助。想要了解更多web前端相关知识记得关注北大青鸟web培训官网。最后祝愿小伙伴们工作顺利,成为一名优秀的web前端工程师。
④ 如何写高质量的JS,Html5前端代码
何编写高质量的HTML代码,西安HTML5培训开发小编告诉你,web
前端开发是从网页制作演变而来的,在名称上有很明显的时代特征。
网页制作是
Web1.0时代的产物,网站内容主要是静态的,用户使用网站的行为也以浏览为主。
2005年进入
Web2.0时代,网页不再只承载单一的文字和图片,网页上软件化的交互形式为用户提供了更好的使用体验,这些都是基于前端技术实现的。
以前会 PS 和 Dreamweaver
就可以进行开发,而现在的网页制作更接近传统的网站后台开发,所以现在叫做 Web
前端开发。
Web 前端开发人员
主要职责:把网站的界面更好的呈现给用户
之前包括新浪,搜狐,BAT
等各种规模公司都对自己的网站进行了重构,因为如下两点原因。
1.根据 W3C
标准结构重构之后,可以让前端代码组织更有序,显着改善网站的性能,还可以提高可维护性,对搜索引擎也更友好;
2.重构后的网站能带来更好的用户体验,重构之后的网站,文件更小,下载速度更快
而我们的 DHTML 让用户操作更炫,Ajax
可以实现无刷新的数据交换,操作更流畅,这也给我们现在的前端开发带来了新的体验。
第一章:从网站重构说起
Web 标准 ---------
结构,样式和行为的分离
而我们现在前端开发的现状
而我们在混乱的浏览器环境下,我们依旧要去打造高品质前端代码,提高代码的可维护性,想要做到提高品质我们可以从以下三点出发。
而具体如何去做到 HTML
代码的精简,提高重用,做到有序,我们会在之后的代码中一一给大家解释。
第二章:团队合作
首先我们先来揭秘一下,什么是前端开发工程师?
2.1 CSS 布局是前端开发工程师的基本功
2.2 对 JS 使用有要求
不仅仅会原生 JS,还要会使用 JS 类库和
Ajax
⑤ web前端怎么写好代码
web前端开发需要掌握的技术:
1、
学习html,这个是最简单的,也是最基础的。要熟练掌握div、form table、ul
li、p、span、font这些标签,这些都是最常用的,特别是div和table,div用于布局、table也可以用于布局,但是不灵活,基本
table是用来和数据打交道。
2、学习css,这里说的css不包括css3,一般我们看到web前端开发工程师的要求里面,有一个会使
用css+html或者css+div来进行界面布局,所以css是用于辅助html来布局和展示的,我们称之为“css样式”,为什么会说
css+div呢?因为我上面说了div就是html主要用于布局的东西,所以div就是核心掌握的东西!那么css肯定必须要配合div来使用才好。
css要熟练掌握float、position、width、height,以及对于的最大最小、会使用百分百、overflow、margin、
padding等等,这些都是跟布局 有关系的样式,一点要掌握。
3、学习js。
可能前两个大家觉得还过的去,看到js就蛋疼了,其实吧,js入门很简单的,不需要会很多东西的,只要会根据某个id、或者name拿到网页dom或者样
式、或者值,然后会给某个id或者name的元素标签赋值、或者追加数据、追html,这个是跟数据有关系的操作,然后数据逻辑判断,效果方面的,无非就
是跳转、弹框、隐藏什么的,把这些全部结合其他就是实际用途了,代码一点都不难,会了这些基础js,其他的直接网络就好了。然后看多了,用多了,就什么都
不是问题了。
4、学习jquery。jquery是相当于把js封装了一套的一个js插件,目的就是操作起来更方便,代码写的更少,jquery入门也很简单,那些是入门需要学的和js一样,只是换成了jq的代码。其他的一样网络就够了。
5、
最好会点后台语言,比如java、php,为什么呢?因为我们前台界面的数据都是从后台来的,如果会点后台代码,就知道怎么跟后台交互数据是最好的,
这样节约时间,也可以让前端代码更规范。不然可能因为你的写法和后端给来的数据不能结合上,那么前端代码又得重新写,那就更蛋疼了。
6、学
习css3+html5,为什么这个放最后呢?哈哈,因为我自己也不太会,毕竟术业有专攻嘛,虽然这个很流行,但是我是搞后端的,在工作中用不到
它,只有在自己网站需要改样式,或者朋友网站样式出问题的时候,我才会去临时去研究下。但是如果你们是准备专门搞前端,那么最好还是学一下的。
上
面6点,基本是一个搞web前端开发工程师需要掌握的技术,然后我也尽量的把自己的一点点经验告诉了大家,但是大家不要以为上面6点就只有我说的那么容
易,不,他们之所以被人使用,之所以这么火,就是因为强大!我说的这么简单仅仅是打消你们觉得很难的原因,万事开头难,我讲的都是入门的方法和技巧以及需
要知道的东西。另外告诉大家一个秘密,不要以为代码很难敲,现在什么语言都有自动提示代码的功能,只需要输入一个字符,两个字符,后面的代码都会弹出来让
你选择!还怕啥呢?所以你也不要怕你英语不好了。
⑥ 编程中的代码能看懂。。但是让自己写却写不出来。应该怎么办 要有效果的方法
多敲!!!多敲!!!多敲!!!
基本上每一个初学者都会遇到这样的问题,包括我之前也是一样,导致的原因就是自己不喜欢动手,就算自己有了思路,却不知道从何下手;因为在你的脑海中一直对这些题目都是存在于数学上面的操作,真的要使用代码去实现的时候你脑子就会一篇空白
一个代码写多了的人,不管你的需求再难,他也能写出一个基本的框架出来,也不至于无从下手,因为代码写多了的人都会总结出一套规律,开发都是这一个套路
《2020最新Java基础精讲视频教程和学习路线!》
就跟你建房子一样,基本的框架搭建完毕之后,只需要慢慢砌砖就行了
抄代码虽然是程序员的日常,但是初学者非常不建议去抄代码,抄的代码只会让你越抄越乱,从而使自己的思维就依赖在了网络上,自己一点思维都没有,那有如何去提升自己呢
代码一定要有自己的思路,然后再把自己的思路转为代码实现,这才是学习Java的正确方式
原文链接:网页链接
⑦ 前端刚入行写代码写不出来有必要辞职吗
坚持半年,适应半年,若还学不会代码,就得辞职了,因为该工作不适合你。
⑧ 我做前端开发,但是javascript总是搞不懂,也不会写出什么效果,逻辑和大脑空空,觉定转行!
我觉得吧你首先要确定自己是否真的努力了,是否有好好学习javascript、jquery、css、html了,如果你努力了,和高手探讨一下自己的努力方向是否走偏,如果就是觉得不适合,就是不爱做,那好吧,放手吧。
如果没有努力,没有好好学学javascript,那么好好学一下,可以先学一下jquery,很简单,可以立即让你对javascript感到惊艳,美轮美奂。
我也是做前端的,我很喜欢前端的工作,我们这边也有后端的同事转过来了,他已经做到了项目经理级别,后端做长了就会感觉,前面一律,模式已经固化了,做前端每天你可以看到崭新的东西,每天都有有趣的东西出现。
推荐你基本书吧,javascript权威指南(第六版),javascript高级程序设计,javascript语言精粹,javascript设计模式,javascript经典实例。
可以先看jquery方面的书,推荐两本jquery语言基础,锋利的jquery。
希望对你有用
⑨ 学Web前端半年了,只会写一些简单的代码,像那种完整的代码功能还是写不出来,没有头绪,怎么办
你的学习方向找到了没有? html+css+javascript! 掌握了这三项技能就可以写出完整的静态页面,下面介绍一下几大等级,你修炼道了那个程度?
一.【入门】
能够解决一些问题的水平。有一定的基础(比如最常见的html标签及其属性、事件、方法;最常见的css属性;基础的javascript编程能力),能够完成一些简单的web前端研发需求。
二.【登堂】
能够正确地解决问题。不管你是通过搜索网络,或者通过改造某些成品代码(jquery/dojo/ext/yui)案例,只要能够无错地完成需求。
三.【入室】
最强代码,知道所有能够解决需求的各种方案,能够选择使用最优秀的方案满足需求。这个级别基本上产品开发编程中的代码主力。给出的一招一式,招招都是绝招。
四.【入微】
最强解决方案。你能够走在需求的前面,将当前需求里有的、没有直接提出来的、现在暂时没有但将来可能有的等等,及前端编程潜规则等各个方方面面都综合考虑,给出最优方案。以一招胜万招。
五.【化蝶】
破茧重生,这个层次关注的是编程语言本身,而不再关心产品需求。什么是茧?产品需求就是茧。当你一招胜万招,打遍天下需求之时,你如果还拘泥于需求开发,那就是你限于茧中而不自知。要么就在这个茧里默默地老去,要么就破开茧获得新生。
六.【大侠】
这里所说的大侠,不是大家互相吹捧的”大侠”,而是实至名归的高手。这个级别的人完全有能力写出不差于bindows/jquery/ext/yui/dojo的同等级别规模的前端开发框架。应用成熟的开发框架指导、解决问题。
七.【宗师】
这个级别的人已然到了无招胜有招的境界。项目开发中的难题?没有难题!运行平台的差异?从根本上搞定!代码规范、开发模式,早已经被抛在身后。这个级别的人已经不再关注于某个前端开发框架,而是应对具体的环境给出最佳的理论指导。
八.【飞升】
其实严格来说,飞升已经不是原领域的范围了。在web研发领域,对于这个层次的有一个很好听的称谓:架构师。当然那些”伪架构师”另当别论。
一通则百通。在其它的技术领域,也可以按照《入门》《登堂》《入室》《入微》《化蝶》《大侠》《宗师》来划分等级。
⑩ 我现在在学网站前端的编写,可看人家写的总是看不懂,该怎么办呢
display:none 是隐藏元素
display:block 是把元素设置成块元素
什么是块元素 比如 div h1 h2 ... h6 p 等等 默认都会占用 一整行的元素
像 <span > <a> 等等这种元素就不是 块元素 因为不会占用一整行。
display:block 这句话的意思 是设置成块元素 同时 如果元素隐藏(none) 那么会显示元素
如果你要去系统的入门 div+css js 这些前端的编程 网络讲师 李彦灰的视频教程不错 你可以网络搜索一下