求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
 
分享到
6个代码编写技巧 让你的编码技能飞跃提升
 

       火龙果软件 发布于 2014-8-12


 


简单来说,有许多代码在到处放着,当它们没有被组织管理起来,但 更重要的是当它们没有写好时,事情就会变得有点复杂起来。让我们来看一看几种能提升我们的代码整体质量的不同方法。

每周我都可以用四种不同的语言编写至少几百行代码。我也可以同其他与我一同工作的开发者协作进行代码的编辑和审查。

简单来说,有许多代码在到处放着,当它们没有被组织管理起来,但 更重要的是当它们没有写好时,事情就会变得有点复杂起来。让我们来看一看几种能提升我们的代码整体质量的不同方法。

1. 开始构建模块

保持代码一致,可重用且有组织的一个最好方式就是将功能成组的放在一起。例如,别把你所有的js代码都扔到一个main.js文件中,而是要尝试基于功能将它们分组放在分开的文件里面, 然后在你达成你的构建步骤以后再将它们连接起来. 当然,要编写模块化的代码还有更多事情要做,而你也不仅仅只能在用js编写模块化的代码.

CSS 预处理器,像?Sass?(这里有介绍),它们可以让你 把CSS文件写在分开的文件中,然后可以在你编译它们的时候在把它们包含在一个主文件中. 这可以让你为不同的组件,像按钮,列表和字体编写独立的CSS文件。最后,它们全部都被包含到一个主文件中,而从整体上维护这些代码会变得容易许多.

新的技术,比如Polymer?,可以让你编写定制的HTML元素,那样你的HTML、CSS和JS就可以根据功能来组织成单独的组件了. 你也一定要看看Browserify?(这里有介绍), 它能让你可以在浏览器中使用 Node.js-风格的模块.

Brad Frost 在这里也就编写模块化代码的观念和方法提供了一个很棒的概述.

2. 谈到预处理器…

预处理器不仅仅能对编写模块化代码有所帮助. 许多其它方面它们也表现得很棒! 预处理器可以在输出浏览器可以处理的相同HTML,CSS和JS时,在你的代码内部添加额外的功能. 它们常常需要一些额外的设置时间,但只要耗费一次这样的时间,你就可以不断享受使用它们带来的好处.

使用预处理器可以帮你省掉多次编写重复性代码的时间. 它们也还提供了像变量、函数、循环和简化的语法这些很有用的功能. 大多数预处理器也是高度可定制化的。有些还包含选择你更喜欢的输出风格,包含插件以及附件,甚至在必要时创建自定义通知,这些选项. 最流行的预处理器都有大型的社区,并且得到了良好的维护,而对于一般问题的回答也很容易找到.

这里有一个视频介绍最通行的CSS、HTML和JS预处理器:?Sass, Haml 和 CoffeeScript.

如果你对Sass感兴趣,这里有一篇SitePoint 作者 Hugo Giraudel如何组织他们Sass项目的文章, 以及?他用来做这些事情时最爱用到的工具.

当你研究Sass时,一定也要看看Coffescript哦.

你不必在每一种你用来编写程序的语言上都用到预处理器,但它们中的许多确实能帮助你写出更好的代码.

3. 开写之前请计划好

你最后一次坐下来用纸笔写下你会如何处理一个项目,是什么时候呢? 你计划选用什么架构,你预期能支持多少中浏览器,你计划了使用任何自动化的运行工具或者构建系统吗?在你想好了具体它如何被构造以后,项目就很容易推进起来了,只有在意识到一半时,你才需要回头重写一些代码.

North?是一套出众的指导你如何从头到尾规划一个web项目的规则. 它是一份长而全面的在线文档,不是所有的东西在编写代码的时候都会用到,但是其长度和详细程序确实显示出了在构建一个站点时有多少因素是必须被考虑到的.

选择正确的工具和库是一项很有挑战性的任务,特别是在每天都有新工具和库被创建出来的时候. 我的策略是收藏一份工具盒资源的列表?来对最好和最有用的东东进行持续跟踪,?那就你就可以在下一个项目中随意的来使用它了.

4. 使用版本控制

版本控制是一种按照时间来记录对文件或者资源的修改,它允许多人编辑,变化跟踪,以及对资源的管理. 有许多支持版本控制的服务,包括Bitbucket, Assembla, 以及 Github. Github 是我个人的最爱,因为它支持社交化编码,这意味着人们可以在Github上分享代码,发展或者学习别人写的代码.

版本控制是一个理解起来有点复杂的话题,但却有很多入门教程。我建议在着手前看下我们对git的介绍以对其有一个基本的了解。也可以看下我们的团队中git使用指南和git进阶窍门。如果你对git没兴趣,你也可以看下版本控制的其他建议。

最后一个建议:使用命令行。命令行是一个令人生畏的用户接口,但熟悉它会在整体上提高你对编程的理解,同时可以让你有能力使用其他优秀的工具,例如Gulp和Grunt。

5.开始代码审查

如果你是一个团队中的一员那这对你来说很简单,但如果你是独立开发者代码审查也不是不可能的。代码审查的基本思想是将你写的代码展示给其他开发者(或上级),这样你就可以解释你写了什么,从而知道如何能写得更好,甚至可以教导对你所使用的技术不熟悉的人。

最好每周进行一次,同时本着学习如何改进已完成代码的目的进行。这里有一篇关于代码审查的好处的文章解释了如何最好地执行代码审查。

如果你是独立开发,或者你很反社会,jslint和SCSSlint?会是很有用的。这些工具在保持你的文件整洁干净的同时会检查你的代码是否有错误。有了它们你也就不需要与人接触了。

6. 接受编程的挑战

有许多免费的在线资源旨在为想要寻找到对其每天使用的语言更好理解的开发者提供编程挑战. 大多数的这些站点都配备有大型的社区,愿意在需要时提供帮助,因此你不必担心遇到困难后无法继续下去.

CodeWars对梳理你的Js能力很有帮助,还有Practice App为你提供在Codepen构建的随机的前端挑战.

总结

多少按照上面的建议那样做,都将大大提升你的编码技能,并因此提升你所编写的站点,工具或者应用的质量.

 
分享到
 
 

     



相关新闻  
利用Gitlab和Jenkins做CI
CPU深度学习推理部署优化
九种跨域方式实现原理
 
 讲座 设计模式C语言
 讲师:薛卫国
 时间:2019-4-20
 
 
每天2个文档/视频
扫描微信二维码订阅
订阅技术月刊
获得每月300个技术资源
 
希望我们的资料可以帮助你学习,也欢迎投稿&提建议给我
频道编辑:winner
邮       件:winner@uml.net.cn

关于我们 | 联系我们 | 京ICP备10020922号 京公海网安备110108001071号

深圳SEO优化公司瀍河网站优化必须优化的网站天长专业网站优化池州网站搜索优化商丘网站自然优化找哪家群力优化网站电话网站优化和ip地址的关系视频优化网站有哪些网站优化关键词排名许昌整站网站优化系统通州网站推广优化外包seo网站优化待遇方山县网站seo优化排名枣庄临沂网站优化公司网站搜索优化网玉溪网站优化哪家好企业官方网站如何优化苏州张家港网站优化做网站加优化二七区企业网站优化运营珠海靠谱网站优化快速排名网站优化去哪查询怀化网站优化营商庆阳网站优化推广公司费用平顶山知名网站优化抚州网站优化长岛视频网站优化如东县网站优化方案网站推广排名优化价格荆州网站seo站内优化歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化