很多童鞋,在前端学习中,总会有投机取巧的想法,总幻想着能一口吃个胖子。
在接触过编程一段时间之后,新鲜感一过,总觉得有些枯燥,加上并不容易的学习内容,总会问,编程有没有捷径可走?有没有属于编程的四字真言?
别说,还真有,我们的资深老师把上万个日夜的心血归纳成一句真言,其实编程的核心和王道就是:慢就是快。
都说天下武功,唯快不破。但是在编程的道路中,天下代码,而是:唯「慢」不破。
1
编程前:不打无准备之仗
有的童鞋非常心急,拿到任务后,在原型需求和整个产品的业务逻辑都没有搞明白之前,就开始动手了。
边做边开始捋需求,像老太太织毛衣一样,只顾着往下走,不看后面的毛线团乱成什么样了,这样的习惯对于前端程序员来讲,还好说一点,但是对于后端的程序员来说,真的是大忌了。
因为架构的设计,数据库的设计都是要依据这个产品的业务逻辑来实现的,《中庸》里提到“凡事预则立,不预则废”。
只有坚持多角度了解环境,深层次挖掘逻辑,全方位盘点资源,才能流畅、清晰的写出好代码,不急于求成,不人云亦云,更不能攀比跟风,丧失主见,前期一定要花大量的时间来搞明白产品的需求和业务逻辑,不要着急动手去做代码的实现。
在正式敲代码实现之前,搞明白产品需求和业务逻辑到确定数据库的设计和架构的设计,至少得占这个项目所有时间的1/3左右才合适,甚至难度更大的系统,占到更多时间也有可能。只要关键思路捋清了,剩下敲代码填充的工作,就容易多了。
其实,程序员最动脑的工作就是前期的准备工作,是对于产品的思考,后期的“啪啪啪”确实就跟体力活也差不多,要不然叫“码农”呢!
2
编程中:磨刀不误砍柴工
既然前期我们准备工作都做好了,剩下的就是敲代码了。虽然在编码的过程中基本是行云流水般的操作,但是也要注意一些细节。
很多程序员为了追求速度没有耐心,在一些该注意细节的地方没有注意到,这个问题非常普遍。
现在的年轻人最大的问题是:所有人都想一蹴而就,没有人静下心来好好做事了,都认为“站在风口上猪都能上天”,没有人扎扎实实提升自己的能力了;都认为机会来了,所有人都想一夜暴富,成为技术大佬,却没有人想到成长也是需要时间的。
后台程序员逻辑判断考虑不周全,有的甚至不写,直到测试测试出来,才会写;前端程序员不注意细节的体验问题,出现错误不弹窗处理,不告知用户,有些该提示的地方却不提示。
这些细节问题对于专业的程序员来说不是不知道,归根结底就是懒和没耐心。
但你要知道懒这一时会带来更多更棘手的麻烦,而勤奋和耐心可以帮助你成为一个更出色的问题终结者,它还可以提高你对计算机的认识。计算机的概念是很复杂的,它要求要灵活,耐心和努力工作去理解它。
快在编码不假,但是要慢在细节。后端程序员一定要把逻辑判断想周全,前端程序员一定要注意用户体验。这都是前人泣血的经验之谈。
3
编程大忌:好高骛远不踏实
有很多程序员都有这样的借口:哎呀,项目着急,周期紧,我先把功能做出来,至于其他的,后期再慢慢调整完善。
后端程序员总是会想,这个接口先写完给前端调用,一些基础判断不先加,等全部完成之后再统一完善。前端程序员会觉得,这个弹窗是小问题,先不写,等全部做完,再加。
这是编程的大忌,永远不要抱有先实现后完善的幻想。
敲代码最重要的就是「一步到位」。如果全公司的人都想着,等我xxx之后再做,那业务还能有进展吗,有这样的员工,公司何愁不倒闭?
当几个项目一起临近交付期,一堆工作压在身上,临时抽身到过去项目做完善工作简直是天方夜谭,如果能碰巧蒙混过关,有多少程序员能回来完善和重构的?
太过注重结果的时候,行走的步调会紊乱,匆忙赶路的过程中,双脚触及地面的力度就会减轻,走得每一步都不踏实。
4
方便别人,成全自己
做出来容易做正确难,做出来指代码没能正常跑起来,而做正确是指程序没有bug隐患,清晰透彻能让人轻易的理解意图,不给自己挖坑,不给后人添堵。
再者,一个程序员最讨厌的一件事是什么?
修改代码,不管是修改你自己的,还是修改别人的。回来修改代码的时间是极大的浪费,以为你要在你写的忙忙代码中找到你当时写的不好的地方,完善它,你找代码的过程是非常浪费时间的。
退一万步讲,即使你辞职了,留一屁股bug给后人,这也是缺乏职业道德的事,烂摊子让别人来收拾,实是君子所不齿。
毕竟真正阅读程序的是人,而不是计算机,所以所写代码具有良好的可读性,是优秀程序员必备的素质之一。
在大型的系统开发中,往往需要很多人的通力配合,例如,开源软件Linux之所以能够为全球顶尖程序员共享、协作开发,也得益于规范化和标准化的编码规范。
所以,编码时,最好设想自己就是将来要来维护这些代码的人。
所以,请记住:对自己放松就是对他人苛刻,对代码敷衍了事、随意编码的恶果就是方便了你,却害苦了团队的其他人,最终承担苦果的还是你自己。
5
国际标准的代码是什么样的?
规范应该尽量一致;即使有例外,也只能是少数情况,而不能是很多例外。
好的代码规范能够提高代码的可读性便于协作沟通,好的模式能够上层设计上避免不必要的bug出现。
看看在大公司工作过的人的代码速度:大公司待过,代码质量很高,要求非常严格,要经过各种检测和评审,有大量的指标数据需要达标!
对代码监视也是非常严格的,编码规范时常再讲,测试要求非常严格,平均下来一天代码量也就50行上下,可以想象质量如何。
在前端、编程过程中,程序员大部分的时间都是在写代码,或者改代码,工作一段时间后,对代码的感觉也是有所不同,在摸索了一段时间之后你会发现,步步为营、稳扎稳打,相比一蹴而就的编程,慢下来节省的时间、耗费的人工和精力,提升的效率都是肉眼可见的,龟兔赛跑的哲理在今天依然实用。
6
写在最后
说完这些之后,我们再来算一下时间成本,为什么慢就是快呢?
因为如果你前期花足了时间准备和设计,在编程的时候,又尽量完善的注意到了细节,你项目最终完成的时候,bug就会少很多,就可以及时交付。
如果你认为先实现,后完善,你项目交付测试的时候bug层出不穷,你修改bug的时间绝对会大量的浪费时间,最后很容易导致项目不能按时完成和交付。
欲速则不达,见小利则大事不成,说话做事,该慢下来的事情,就必须慢下来,扎扎实实地做好。“Less is more,Slow is fast”普通人之间,最根本的差别,可能就是推迟满足感的能力和耐心。
最近微信改版了
大家记得把【Duing】设置成星标哦
这样才不会错过消息!
小伙伴们,你们还想看什么类型、题材的文章?或者在学习前端过程中有哪些痛点呢?欢迎在图文下方给小渡留言,小渡会筛选出共性问题,或呼声最高的类型文章,手动联系业内大牛帮你约稿哦~
领取专属 10元无门槛券
私享最新 技术干货