工位上有人突然凑过来问programming是什么意思,当时随口就答成敲键盘写代码,觉得这事儿简单的很,指尖对着屏幕敲字符而已,那会儿眼里只看得见屏幕上一行行的字母和符号,完全没往更深的地方想,甚至还觉得纠结这个词义纯属多此一举,不就是大家口中常说的写代码嘛,每天坐在电脑前重复操作就行,压根没意识到这背后藏着的逻辑和规划才是主体,反正身边不少新人一开始也都是这么理解的。
真这么想就错了。
后来跟着项目一起做事,接手了别人写好的内容,照着改几行代码就出了一连串报错,弹窗跳个不停,反复核对字符、标点,来来回回折腾大半天,屏幕上的红色提示还是消不掉,这时候才慢慢察觉,之前理解的programming太片面了,光是把文字敲进文档里根本不算数,每一段内容都要贴合整体的运行逻辑,差一个符号、错一个语序,整个流程就会卡断,手头的工作进度也跟着停滞下来,那段时间天天对着报错界面发呆,心里也有点急躁,明明照着样子写的,怎么就运行不通顺,在原地卡了好几天都找不到突破口。
换了思路去翻看前辈留下的纸质笔记。
折腾好久才搞明白,词义从来不能只看表面动作。笔记里没有堆砌难懂的术语,只是记录着每一段代码对应的作用,还有前期梳理需求、搭建框架的全过程,原来所谓的programming,最先要做的不是动手敲击键盘,而是先理清想要实现的效果,把复杂的需求拆分成一个个细小的步骤,再用对应的语言把步骤表达出来,很多新手一上来就急着写内容,忽略前期的梳理环节,最后只会越写越乱,改起来更是无从下手,试着先在草稿纸上罗列步骤,再开始操作,明显感觉顺畅了不少,出错的频率也降了下来,也不再像之前那样一遇到问题就慌神。
身边有个一起入门的伙伴,一直停留在最初的浅层理解里。
他每天机械的抄写现成代码,以为熟练敲字就是掌握了门道,遇到新的需求就束手无策,只会到处找现成的模板套用,从来不会自己拆解问题,明明上手时间不算短,能力却一直卡在原地,看着他的状态,越发明白动作和核心本质完全是两回事,外表看起来都是对着电脑操作,内里的差距却隔着一大截,也庆幸自己早些时候踩了坑,及时扭转了看法,没有一直陷在浅层认知里走不出来。
慢慢上手之后,又有了新的体会。
真正做的久了就会发现,programming不只是完成指令、编写代码,更是一种解决问题的思维方式,面对不同的场景调整逻辑,根据实际情况优化内容,灵活变通才是长久做下去的关键,拘泥于固定的格式和写法,永远只能做重复的工作。傍晚收拾好桌面,关掉电脑屏幕,起身接了一杯温水,目光扫过窗外渐渐暗下来的天色,指尖无意识摩挲着水杯外壁,一整天的忙碌慢慢沉了下来。