作为一个程序员,我最大的梦想就是按一下回车键就完成一个礼拜的工作
大学某老师说过,在计算机的道路上,通常阻碍我们进步的不是困难,而是重复,不断地机械重复。直到你觉得自己不再是人,而是一台机器。
为了不变成机器,我们是不是应该减少重复?
但是你有没有发现,你每天都在敲一些相同的代码?
比如:
function(){}
或者
console.log()
或者
if(){}else{}
我敲上面的代码大概用了20秒,正常速度,但敲多了还是会觉得累。
据说计算机刚发明的时候,程序员是在一张长长的纸条上打孔,以代表0和1
而现在我们可以用高级语言编程,其实已经很幸福。不过科技应当不断地进步,使人用更自然地方式去工作,而不是绑定在椅子上,不停地敲打键盘。
何谓更自然的方式?比如,用笔画,用手指点,拖拽,用语音。而不是去记忆一大堆代码。
当然,现在的ide还没有到达那么智能的程度,很大一部分原因是语言太多,工具太多,没有这么多人力去研究,优化工具。
但作为程序员,应该有这个觉性:要使用工具,而不要被工具奴役。
以下我想总结的是,程序员提高开发效率的关键点。
1.专注
这点是提高效率的必要前提。如果你要一边带娃一边编程,一个小时能写一个function就不错了,效率免谈。
2.选一款好的ide
最早的时候我使用nodepad,后来用过visual studio,再后来接触过sublime,webstorm,Hbuilder,vscode,其实都各有千秋。不妨多试试,找找它们的特点,慢慢地你会知道什么适合自己。
而我现在选择的是vscode. 我选择ide有几个考虑因素:
1)安装简单快速: 以前用visual studio时,动辄几个G,有用没用安装一大堆,想迁移工作环境真是费劲。而vscode,30多兆,安装快速,十分轻松。
2)运行方便:vscode支持右键菜单,可以在文件夹上单击右键打开文件夹,打开后文件夹就是一个项目,不需要再建什么项目文件。可以打开多窗口命令行,运行不同的实例。
当然,我的开发环境是nodejs,其他暂不了解。
3)插件多:丰富的插件是提高开发效率必须的,不多言。
4)很少卡壳:如果你的ide打开大的项目时经常卡顿,而且已经加到8G内存,那你真该换ide了,毕竟你不是做photoshop,消耗太多内存是不正常的。
3.学会使用ide
其实第三点跟第二点并不重复。因为有的人在用一款很好的ide,却只用到它的基本功能,而一些强大的功能却用不上。
我觉得在有时间的时候,应该将你常用的ide的每一个菜单每一个功能都研究一遍,哪怕花两天的时间也是值得的,因为它是你的生产工具呀。你的生产效率决定了你的价值呀!
4.掌握开发的窍门
以下讲一讲提高开发效率的一些窍门,或许不仅仅可以应用在写程序哦:
避免频繁地切换注意力
切换本身就是会损耗时间空间的,例如,单核多任务系统,为了达到多任务,要不停地在时间片之间切换,而切换本身需要空间存储入口,并且消耗时间运算,总比不上多核系统。
延伸到写代码:你把手从键盘移开,抓住鼠标,移动鼠标并激活一个窗口,然后手再移回键盘敲代码的过程中,你的注意力其实已经发生了数次转移,这样做其实更容易疲劳,并且比单纯用键盘和鼠标更容易得肩周炎。因此,记住一些常用的快捷键,包括窗口切换,代码编辑等,对你是非常有利的。
再进一步,做开发时可能要同时参考设计稿,数据库字段,API文档,同时编写代码,预览效果图。如果有两到三个甚至4个显示器,直接转头就能看见,连快捷键都能少按些,还能顺便给颈部做做运动,预防颈椎病。当然,如果不是必要的,我不建议同时做这些事,而是倾向于分开批量处理,形成一个流程。
自己造轮子
现在有很多编辑器都有snippet。即将你常用的代码写入相应语言的snippet文件中,在使用时只需敲几个字母就能生成一大段代码。这种方法可以说是以简驭繁。但是这些代码段应该经常整理,避免最后连自己都忘记了。
另外,在项目中用过的代码,如果能进一步优化,减少耦合,使其模块化,能使用在其它项目中,也能在一定程度上提升开发效率。当然,这就需要项目经验的积累了。
用别人造好的轮子
框架好不好其实是看项目需要的。如果只是做一两个页面,当然越简单越好。但做大一点的应用,就要考虑考虑了。比如:框架的插件是否够丰富,文档是否齐全,学习成本高不高,样式修改难度,编码是否简洁。如果写到一半发现项目需要的效果做不到,还要花许多时间去写扩展插件,其实会耽误整体的开发时间。
使用自动任务
懒人应该能躺着就不坐着,能坐着就不站着,对于重复的操作,应当尽量使用自动任务去代替:
用node 运行项目不如用supervisor,因为项目掉链了能自动重启;
每次按ctrl+s保存不如让它自动保存,反正可以回退;
编辑完网页要按F5刷新不如使用热更新,保存之后能马上看到变化。
先规划后制作,批量处理同类工作
其实效率除了跟个体的熟练程度有关外,还跟工作流程有关。
比如做前端开发,与其做一页算一页,不如总体把需求梳理一便,定好页面名称,页面目录结构,然后把页面都新建好,把该用的组件和插件都写好,公用方法都撸完,再开始写页面。这样在写页面时,用到的方法都有了,图片都有了,甚至样式主题也都有配置了,写起来才能行云流水。否则写着写着,你可能会发现又缺个东西,然后又引进来,然后还要接着原来的流程写,思路经常会被打断。
总结的总结
其实效率的提高总是有上限的。
如果你的效率提高到一周能做一个项目的程度,你的老板绝不会错过让你一个月做四个项目的机会,或许你还是不能避免加班的可能。加班多了难免疲惫,第一条的专心原则就做不到了,效率又会随之下降。
所以提高效率的方法更适合目标明确的人,毕竟我们提高效率并不是要压榨时间,只是不想浪费时间。