现在很多程序员可能找不到很好的有效的方法去提升自己的技能以及编程技巧,也可以一味的就停留在当前,现在我们告诉大家一些比较实用有效的方法。
有些程序员每周都可以用四种不同的语言编写至少几百行代码。也可以同其他一同工作的开发者协作进行代码的编辑和审查。
简单来说,有许多代码在到处放着,当它们没有被组织管理起来,但更重要的是当它们没有写好时,事情就会变得有点复杂起来。让我们来看一看几种能提升我们的代码整体质量的不同方法。
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时,一定也要看看 HAML 和 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 构建的随机的前端挑战.
多少按照上面的建议那样做,都将大大提升你的编码技能,并因此提升你所编写的站点,工具或者应用的质量.
以上这些建议呢也都是一些比较资深的程序员根据自己的相关经验总结出来给大家分享的,希望小伙伴们有时间可以多了解下,说不定是可以帮助到自己的。
- 浏览: 24033 次
- 性别:
- 来自: 厦门
最新评论
-
haixin3036:
php教程
轻松解决PHP中文编码苦恼的小技巧
相关推荐
详细全面介绍留学申请的方方面面,北邮人论坛飞跃重洋版编写
多所高校的飞跃手册,下载就是赚到。 在很久之前,就已经有人注意到了留学是一个如此庞杂的过程,很显然,他们就是最早期的那批留学生,由于年代以及随之而来的资金的限制,最早的留学生都是国内名校的学生,他们都...
飞跃网吧收费系统 网吧收费 网管工具 笑傲网吧
生死大飞跃
机械行业2021年度投资策略:中国制造飞跃,龙头估值提升
模拟电子电路基础答案胡飞跃答案学习教案.pptx
摩托罗拉飞跃无限.pdf
飞跃号码归属地批量查询软件是一款好用的批量手机号码归属地查询软件,能够帮助用户快速批量查询大量手机号的归属地,从而进行更好的数据划分处理。 飞跃号码归属地批量查询软件特点 1、快速批量速查号码归属地、...
这是winner的curse等一些文件,使经济的开发程序的编写实现了飞跃的发展,一共3个都有涉及!
北大官方制作的留学指导手册,内容详尽,无论对于在校学生还是非学生,只要你想出国,里面的内容绝对对你有帮助。
详细讲述了GF的w前世今生和突破技术,想看不能看的东西就认真学习学习吧
20201114-招商证券-机械行业2021年度投资策略:中国制造飞跃,龙头估值提升.rar
第五章背景提升50华中大电气飞跃手册华中大电气飞跃手册华 中 大电气飞跃手册 20205.1 概述 505.2 如何进行背景提升.
CSDN上下载的飞跃星空屏保改进后重新上传,更改处1:判断鼠标按键按下动作用了钩子,2,增加设置屏保界面的设置选项也就是增加了判断/c/s/a消息判断状态 至少现在看着和正常屏保功能一样了
近几十年来,项目管理已成为一个热门的话题,它的广泛应用,是管理史上的一次飞跃。项目管理是一门艺术,一门综合了多学科的艺术,是应用领域专业知识、通用管理技能,以及沟通能力等相互融合后的综合管理。对企业...
摩托罗拉飞跃无限.zip___摩托罗拉飞跃无限.zip
信息化革命的第三次飞跃——云计算.pdf
使用飞跃网络FLASH音乐程序V2.0程序须知: 1.不得将本程序提供给他人。 2.其他人要此程序请联系我。 3.泄露本程序的网友,我们将追究其相关法律责任。 4.本程序演示地址:www.fy789.cn 帐号/密码:fy789....
6.管理简便化、程序化、规范化、老板在或不在一个样。 7.大大减少工作量,能及时分析营业情况及盈利情况。 8.凸现经营管理及成本分析的管理思路,实乃老板的决策分析师。 飞跃健身房管理软件 v26.5 更新日志...
我在这里汇编和罗列了他人和我自己在PhotoShop平面设计学习的过程中的一些方法,我认为这些方法如果你一旦掌握,将直接让你的PhotoShop也好,平面设计也好,都能够有质的飞跃。做为一个老道的是平面设计师,我很清楚...