不知不觉2020已经过了快一半了,2020的确是个魔幻的一年,两年都没生过病的我却在疫情开始的时候发了个烧,幸好一天就退了,但是也是魔幻
这次疫情的确影响颇深,我也花了一段时间才慢慢从担心确诊人数到开始安之若素,现在回头看看专心做事能消除很多恐惧和不安
现在回头看看,自己毕业也快两年了,加上我在大学的四年,我在编程这行已经呆了六年了。回头看看我这六年经历
在大学四年是入门区,开始接触编程,像一块海绵拼命的汲取知识,慢慢的扩展了自己的广度,但是当我到第三年的时候我就发现自己陷入了一个迷茫区,自己越来越“膨胀”,学了很多东西,感觉编程也不是很难,只要自己想花时间就能学会,这个时候自己就像一个稚童编程就像玩具,每次拿到一个新的玩具(框架、软件),玩一会会基本操作之后就丢了
接着到了工作时候变成了一个熟练工,在业务的驱动下做了很多很多项目,但是都是新瓶装旧酒,看起来自己编程技术过硬什么问题都能解决,但是其实这个时候只是会一些基本操作而已
其实在熟练工这个阶段是最难熬的,自己能清楚自己其实只是会编程,但是不是精通,这个时候段我也看了很多编程书,在实际工作中也开始运用大师们的智慧,但是自己对编程越来越迷惑了
在看了很多书之后,知道了各种编程模式,各种编码规范,自己实际编程的时候越来来畏手畏脚了,总感觉自己写的代码就是shit,越来越怕写垃圾代码,每次编程都在考虑自己的编码是否符合规范是否优美,虽然想了很多,但是最后回头看还是写的一地鸡毛,最后在逐渐自责中慢慢的淡忘编程的条条框框,开始野蛮生长模式
这种情况直到自己开始在自己项目开发近一年才开始改变,项目从设计原型到所以的设计稿出来全部都是自己的主意,项目从v0.1开始开发,慢慢升级到v1、v2、v3,每个版本升级都是几乎全部重写,这个项目特别有趣,基本上都是自己一直在催促自己,把所有功能都加紧上线,测试能不写就不写,代码能跑就行,终于重要所有的功能都开发完成了,在这过程中由于各种不规范编程,花了无数时间debug,由于是自己的项目,感觉写的这么烂都对不起自己,所有所有的代码又开始重构,在重构的过程发现干脆重写一个算了,基本上每一行代码都被千锤百炼,直到目前还是有很多问题
但是这个过程中,自己似乎领悟到了一点别的东西,好像编程大师说的那些东西都可以用,当把那些东西稍微的应用到自己的项目中的时候,突然感悟到了点什么
其实在做项目的时候我们都是为了完成功能而写的代码,从结构上他们完全围绕这业务,以素描来打比方,我们想画一幅人,我们为了快速完成一个功能,我们可能会先把一个脚画出来,一般业务不明朗的情况下我们都会把这个脚画在图片最中心,这样最快,但是当我们开始画头的时候,完了图片不够大,假如不想搽掉重来的话,你只能把一个人设计成一个矮子了
这就是我们大部分也包括我在平常工作中遇到的情况,这样的情况会造成一个很恶劣的影响,随着项目越来越大,你就越难纠正,所以我领悟到第一个就是”勇气“,敢于把你代码给重构掉
当然还有重要的一点就是快速的勇气,其实重构多了你自己会开始畏手畏脚,每次你添加新功能的时候你害怕写垃圾代码或者害怕自己考虑的不够全面为了未来不可能的事写了很多代码,其实我们必须要有写脏代码的勇气,而且我们对这些代码写的越快越好,这样你把他全删了你才不会伤心。
只有开始习惯重构你才发现,把代码写好是一个多么艰难的事情也是多么有趣的事情,终于明白大师为什么是大师,大师能用的工具框架我能懂都能用,但是大师通过这些工具搭建起来的项目我们却只能望其项背。其实越重构你就会越钦佩大师们总结的经验,他们是如此准确如此实用,虽然我很早之前就看过了解过,但只有踩了无数的bug之后才能发现并理解这些。
虽然目前我只是一个熟练工,但是我似乎发现了前进的突破的方向。以前一直觉得编程很简单,现在才知道编程没那么简单,但是有那么有趣了。