现在很多程序员可能找不到很好的有效的方法去提升自己的技能以及编程技巧,也可以一味的就停留在当前,现在我们告诉大家一些比较实用有效的方法。
有些程序员每周都可以用四种不同的语言编写至少几百行代码。也可以同其他一同工作的开发者协作进行代码的编辑和审查。
简单来说,有许多代码在到处放着,当它们没有被组织管理起来,但更重要的是当它们没有写好时,事情就会变得有点复杂起来。让我们来看一看几种能提升我们的代码整体质量的不同方法。
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 构建的随机的前端挑战.
多少按照上面的建议那样做,都将大大提升你的编码技能,并因此提升你所编写的站点,工具或者应用的质量.
以上这些建议呢也都是一些比较资深的程序员根据自己的相关经验总结出来给大家分享的,希望小伙伴们有时间可以多了解下,说不定是可以帮助到自己的。
- 浏览: 26071 次
- 性别:
- 来自: 厦门
最新评论
-
haixin3036:
php教程
轻松解决PHP中文编码苦恼的小技巧
相关推荐
### 编程人员必须做到的10件事 随着IT行业的快速发展,编程技能成为了职场中不可或缺的一部分。...通过持续学习、积极实践以及不断探索新的技术和领域,你将能够逐步提升自己的技术水平,并最终实现职业发展的飞跃。
通过学习《修改代码的艺术》,开发者不仅可以提升自己的编程技能,还能掌握一套系统化的代码优化方法,从而在实际项目中更加游刃有余。结合博客文章"NULL"(可能由于信息缺失无法提供具体内容),我们可以进一步深化...
《职业发展黄金手册》是专为阿里巴巴工程师量身定制的一份综合指南,旨在帮助他们在编程和技术之路上不断提升自我,实现职业发展的飞跃。这份资源包含了丰富的编程知识、代码实践技巧以及职业规划策略,对于任何渴望...
书中首先对C语言的编码风格进行了说明,指出程序员需要遵循的编码习惯以及编写出健壮的代码。例如,书中提到了C语言中的常见错误,比如将赋值操作符“=”误写为比较操作符“==”,这是一个初学者经常会犯的错误。...
在信息与软件工程学院中,综合设计II是一项重要的实践性课程,旨在让学生深入理解和应用软件工程的理论知识,通过实际项目开发提升其专业技能。本报告是对该课程的全面总结,包含了学生团队在设计、开发和实施过程中...
在PHP编程领域,掌握经典案例是提升技能的关键。"PHP编程经典一百例"是一个极佳的学习资源,它包含了丰富的实践示例,...同时,实践出真知,不断动手编写代码,结合实际场景应用,将使得你的PHP编程技能有质的飞跃。
《中文版Excel 2003 VBA高级编程》是一本...总之,《中文版Excel 2003 VBA高级编程》的示例文件是一个宝贵的资源库,它们将帮助你从基础到高级逐步掌握Excel VBA编程,提升你的办公自动化水平,实现工作效率的飞跃。
10. **PHP最佳实践**:编写高效、可读性强的代码,遵循一定的编码规范,如PSR(PHP Standard Recommendations),有助于提升团队协作效率。 通过这些PPT教程的学习,你将能够逐步掌握PHP语言,并能运用到实际项目中...
这个"程序设计.7z"压缩包包含了与程序设计相关的资料和题库,旨在帮助学习者提升编程技能,更好地理解和掌握编程概念,从而在学业上取得优异的成绩。 首先,程序设计的基础包括算法和数据结构。算法是解决问题或...
《C++程序设计经典算法》是一本专注于C++编程语言中的算法实现与设计的书籍,旨在帮助读者深入理解和掌握C++编程技术,并通过实践提升编程技巧。这本书将理论与实践相结合,是C++程序员进阶的必备参考资料。 C++是...
微型计算机的诞生标志着信息技术的一个重大飞跃,其发展历史可以追溯到上世纪70年代初。书中首先介绍了微处理器和微型计算机的定义,强调了单片微型计算机作为现代电子设备核心的重要地位。微型计算机在工业控制、...
Jupyter Notebook以其独特的优势,让代码编写、数据分析和知识分享融为一体。通过深入学习和实践,我们不仅可以提升编程技能,还能更好地发掘数据中的价值,实现从"Code-master"到代码大师的飞跃。在这个过程中,...
在IT行业中,冬季实习通常被视为学生们获取实践经验、提升技能并为未来职业生涯铺路的重要途径。尤其是在编程领域,如Python这样的热门语言,实习经历能够帮助实习生深入理解编程概念,熟悉实际项目开发流程。以下是...
- **编码与调试**:编写清晰、可读性强的代码,并进行充分的测试,确保代码的正确性。 - **优化与重构**:对于性能要求较高的题目,需要对代码进行优化,可能涉及到空间复杂度和时间复杂度的改善,或者代码结构的...
- **编码实现**:编写清晰、可读的代码,注意边界条件和异常处理。 - **测试验证**:使用样例数据进行测试,确保代码正确性。 - **性能优化**:针对复杂度进行优化,避免不必要的计算和空间消耗。 5. **实战经验...