在知乎上,有位刚接触编程的新手提问:程序员编程是不是代码都能记住,不用百度就能敲出来?从大一接触编程到现在一直在练习代码,但是很多函数和库还是没有办法记住,要用到还是得查百度,不知道是我太菜了,还是大家都一样?
█ 知乎网友“天元”: 你坐在一个程序员对面听哈。 如果这哥们键盘敲的啪啪响,还时不时面露微笑。 别急着崇拜。 很多时候可能只是正在跟,测试组/美工组/产品组/运维组的美眉们聊天呢。 如果这哥们的键盘是有规律,有间隔的,咔哒……咔哒……咔哒,而且面色平静。 那么有可能是在拷贝&粘贴代码。 如果这哥们眉头紧锁,东张西望,键盘隔好一会才敲一会,然又是东张西望。 这才是有可能在开始编程。 用键盘敲击速度来评价的,不是程序员,那是打字员
█ 知乎网友“提了废”: 记不住,你知道我现在得用多少种语言?都记下来不干别的了。 你看到我们啪啦啪啦的敲代码,要是没有ide的提醒,我们可能真的只是在敲键盘或者在和MM聊天。 在软件里有个类型叫做:效率。 对,效率。这些是工作而已,当然用最高效的方式。 最后提醒一下: 编程这个事啊,最难的地方不是下手去写的时候。 当我下手去写的时候,说明我的构思、设想、理论、模型、异常解决方案……都已经在脑子里或者在其他的工具里存在了。 如果不做前期的这些准备,编程人员键盘上敲的最响的应该是“backspace”。 我工作了这么久,十多年老程序了,接触的语言不下十种,做架构、原型设计、现场开发,涉及项目大大小小不下30个,从最初的二指禅到现在的非对称六指禅,打字速度上也没啥提升,那也没耽误我产出。 所以说,一旦涉及到敲代码了,就没什么难的地方了,这个过程越快越好,恨不得让机器自己去生成。你以为模板语言为什么在大型项目里一直是香饽饽…… 微软的vs和jetbrain都开始引入智能预测输入,是在侮辱程序员吗?当然不是,得谢谢他们把你打字员的属性压低了一些。 哎呀,跑题了。 我也不是大佬啊,答个什么玩意儿了,摸鱼去了。
█ 知乎网友“易哥”:
编程的能力体现在逻辑思路,而不是体现在: ●代码背诵的好 ●键盘敲得快 ●复制粘贴的快 所以,真的没必要把代码全记住。 具体而言,在写代码时,会出现下面的几种情况吧: 1、烂熟于心:简单的和常用的函数,肯定记得很熟悉,而且具体表现就是大脑思路远远比手快。整条语句瞬间就在大脑出现,然后手开始追赶思路。不过这时候,可能因为敲键盘太着急反而没那么快。欲速则不达吧。 2、知道函数却忘记具体语法:不常用的函数,能够一下给出编程思路。但是可能方法名、语法忘记了,这时候一般愣一下,愣不出来就百度或者谷歌一下(主要是百度,上个谷歌太费劲了)。 3、知道自己要干嘛,却不知道有没有这样的函数:还有一些时候,知道自己要干什么,但是却不知道有没有这样的函数。这时候,往往需要点击到类里面,查一下有没有对应的方法,有时候还得找好久,例如看看对象有没有这个方法、类有没有这个方法、工具类有没有这个方法等。有时还得读一下方法的注释,看看是不是和自己想要的功能一样,甚至还得写个demo确认下功能。如果确实找不到,就只能自己封装了。 所以,不能保证全记住,而且也没必要。 当然,不背源码不代表不研究源码,只是没必要背。 |