不要为变强找借口(并不适用任何人)

对于新手 如果不从框架入门 又该从哪入门

既无法深入,基础不足

又不能浅出,不得要领

更不能深入浅出的用一句话解释,会造成误以为自己掌握的假象


大家好,我是九弓子。一个每天都跟上了毒瘾一样查看粉丝增长数量的野生程序员。

最近接触到好多新入门web开发的小伙伴。大家的基础有高有低,我在这里再一次表示感谢,谢谢大家的支持。

这期内容就是想表达一下,我在学习编程中对 深入浅出 这个词的个人理解

学习的过程难免是枯燥的,晦涩的。很多小伙伴在学习的时候,会在群里向我提很多问题。除了之前说过的,经常写错标点符号与变量单词名称之外。还有一些问题,其实真的也把我问住了。

比如:

“自己基础好弱,跟着视频敲代码,越往后越不懂,最后纯粹成了抄代码。最后,抄完了,做完了,自己好想独立动手做,但还是不会做。”


不要为变强找借口(并不适用任何人)(1)

我们任何学习都需要一定基础的确没错,

但这种情况让我想起多年前的自己,刚入门的时候几乎也是这样。有时候自己想不通一些框架用法的时候,会去论坛或者社群里向大佬请教。

比如:大佬你为啥这样写,能不能那样写,或者某个框架或者插件的api设置为何要写入某些固定的值。

结果可想而知,被大佬很不耐烦的回答一句话。

“哪有那么多为啥,语法糖 与 模块Api就是用来背的,想不通就自己去看源码”

问:得到这样回答的你,会去怎么做?.


  1. 1.老老实实去看源码
  2. 2.直接百度搜索问题本身

Ok,小伙伴们注意。

如果你遇到这种情况,真的会去看源码,那你这是真的硬核,说明你是追求深入的人。

那如果你是换个姿势去百度搜索,或者换个社区继续问这个问题本身。说明你是追求浅出的人。

深入和浅出明明是一个词,却又是两种不同的表现。我们先不去讨论深入浅出到底哪个更值得去做。

我想表达的是:你们知道我面对这种情况,当初是怎么做的嘛?

重现一下场景:大佬告诉我语法糖与模块Api都是要用来背的,然后还告诉我要去看源码就能想通。

我赶紧回复:谢谢大佬,我想问一下,语法糖是啥,api是啥,源码去哪看。

这才是新手对吧...哼哼...不开玩笑,我当时真的就这样,又问了回去。一个问题,就变成了三个问题。然后大佬就不理我了。

这才是真实的自学,像刚才选1或者2的小伙伴。

你们真的不算是萌新...真正的萌新,真就是抄完了也不会用,留在手里的全是代码片段。如果有一天,这些代码片段丢了...后果是真的很严重,很可能连日常工作都无法完成的。

  • 那只有新手是这样吗?我觉得并不是。

比如我,即便我现在干这行当9年了,你要是真扔给我一台不联网的新电脑,然后让我做个网站。

哎呀,我觉得...我可能除了能写写简单的网页样式,其他就毫无进展的可能。

因为电脑不联网,别说前后端框架安装不了,后端语言环境,什么python,java,php你根本想也别想。手撸一个多设备响应的网页幻灯,怕是要用3-4个小时。甚至可能更久,因为没有互联网,能编码的编辑器,怕是只有一个txt。

TXT......

那就别说3-4个小时了,我就只能说,告辞,打扰了没有Vscode Atom 这些编辑器,没有自动补全。

我摊牌了,我啥也不会了。

那么问题来了,我们学编程到底在学什么。计算机技术专业,不是理科吗?为啥失去笔记,收藏夹,代码补全,几乎99%的开发者就立刻丧失战斗力。

不要为变强找借口(并不适用任何人)(2)

因为开发的本质,就是抄。

不要为变强找借口(并不适用任何人)(3)

现在是21世纪的2020年,和30年前的计算机开发相比,那根本是两回事。

本质上来说,for循环就是语法糖。是大佬留给我们的固定方法,我们需要做的就是背会它。

对于新入门的小伙伴来说,计算机之所以难。是因为要背的东西,真的是太多了。就目前而言,多到什么程度,多到我们根本不可能记得住,只能将具体问题一个个的写下来,然后保存起来。

你以为这样就够了嘛?自己写下来能,能写多少?我们仅仅就是记住问题本身的关键词,然后将有用的搜索结果保存网页收藏夹,都不可能够的。

我这台刚刚装机不到4个月的电脑,这是我浏览器收藏夹的数量。

308个网页

几乎我每一天都有新的问题出现。小伙伴可以评论晒一晒你的网页收藏夹条目数。

要知道这不光是308个页面的问题,其中还有四分之一是各种插件框架的官网,进去之后还有上百个api固定用法。

不要为变强找借口(并不适用任何人)(4)

我们是活生生的人,怎么可能记得住。

不要为变强找借口(并不适用任何人)(5)

所以,对于新手,我想说,如果你有一颗完成项目、完成需求的心。

首先要先放下的是深入研究的想法。因为深入,就会迷路。你是在拿你的生命,与全世界IT工作者的智慧去对抗。

那你说,我就追求浅出的结论。我就背,我就只要复制粘贴的代码片段。

可以了吧!

不行啊兄弟,光是javascript语言,已经号称快要淘汰的框架,jQuery。在它的生态内有多少插件和包?这还只是一个框架,然后现在前端流行的三大框架,还有各自的生态。

这能按文科的处理方式去解决问题吗?就算不用我们背会,就单纯用手去点击收藏这件事。怕是你一个个的点击收藏,等你点完。前端就又更新了,你之前收藏的25%怕是已经被时代淘汰了,前端技术的更新速度几乎和摩尔定律是一致的,每18个月变革一次。

后端相对于慢点,但计算机语言本身的更新就会携带其框架的更新。

  • 举个例子,有没有下面这种遭遇。

你辛辛苦苦网上找来一套源码,不论从作者的文档描述还是在线的demo。

你都发现,这套源码能解决你当前的需求。

然后你下载下来开始构建环境,想要把它搭建起来。

然后一个礼拜过去了,

然后你就放弃了。

不要为变强找借口(并不适用任何人)(6)

因为你发现这个项目源码是3年前的。

即便你把语言环境更换成了当年的版本,但是里面业务中应用的模块和包。

你根本就找不到出处,然后语言环境 框架版本 包版本之间的冲突。

直接就能让人崩溃到掀桌。

如果有在学人工智能的小伙伴,TensorFlow这个框架总有一天。

会让你发现我说的这个事是真的。

不要为变强找借口(并不适用任何人)(7)

那怎么办,深入不行,浅出也不行,怎么才能进步?难道和你一样,

熬着时间,不停积累吗?

对啊,不然呢?因为计算机开发,本来就和深入浅出没关系。

深入浅出是什么意思?

百度百科,这是有出处的

盖诗人用意之妙,在乎深入显出。入之不深,则有浅易之病;出之不显,则有艰涩之患

不要为变强找借口(并不适用任何人)(8)

百度百科:深入浅出的解释

首先这个词出自对诗人写诗的形容,我们做开发的,不是写诗的。

如果有一天,你真的遇见那种问你:你写代码有没有一种写诗的感觉?

就这种问题,这种问题一出口。

我跟你讲,赶紧跑。

这是老诗人了,跟着他...

咱们可能在试用期就能被他一套PUA玩到死。

你跟一个艺术家做工业生产,他能让你给每一个螺丝钉打蜡你信不信。

那你说精益求精不对吗?对啊!

问题是他家是造蛋蛋车的啊。前后新车不过7-8万的买卖,他能拿着螺丝钉喷死你。

如果这样形容,你还是不能理解。

你可以问问父母,什么是80年代老师傅带徒弟,什么是驾校教练。

不要为变强找借口(并不适用任何人)(9)

Ok,跑题了,我们不去纠结这种代码强迫症患者。毕竟旧时代的大神都多多少少有点这种癖好,因为当初计算机配置受限,内存和硬盘都是很稀缺的东西。

但是我们看看现在是什么时代,看看那些3A游戏大作。

哪个不是一上架,就直接劝退国内80%的PC端玩家。

他们有在乎过用户的硬件吗?

吃鸡,大表哥2。

不要为变强找借口(并不适用任何人)(10)

大表哥2

就这种cpu,显卡,内存,硬盘。

每一个都在燃烧的游戏。他们正在疯狂加速用户与市场对计算机硬件的更新。

有他们做天花板,我们做一个小型web项目,需要去考虑那么多吗?

那这个时代,为什么还有人一直在追求所谓的深入浅出。

一句话他就要概括世界。这是什么毛病。

不要为变强找借口(并不适用任何人)(11)

其实我见到大部分这样讲究的开发者,是处于学习状态才会如此。

而且是已经熟练掌握一些计算机语言和框架之后。

在接触新框架新知识的时候,才会无休止的追求深入浅出的结论与概念。为的是什么?

因为我们要记忆,要类比,要更好的理解。

但这种追求,对新手其实形成了一种误导。

让很多新人觉得,某种计算机语言是世界上最好的。

某种框架就是比同语言的其他框架更优秀。

学习过程中一定理解透彻某些概念之后才能进展。

不要为变强找借口(并不适用任何人)(12)

孰不知,这都是先行者留下的感慨,而不是概念。

懂的人,听了觉得爽,不代表新人能听明白。

你非要新人去认同,就只能认出个误会。

不要为变强找借口(并不适用任何人)(13)

就拿刚才的例子:

大佬说api和语法糖就是要背会的,想学就去翻源码。

我刚入门,语法糖, api,源码咋看,我都不知道,这不是对驴弹琴?

我们在接触面向对象开发的时候,经常有人会与我们说。

万物皆对象

是不是很精辟?

不要为变强找借口(并不适用任何人)(14)

听起来像是佛说的

我第一次听这个话的时候,我当场就问:

对象是啥,万物是谁?

不要为变强找借口(并不适用任何人)(15)

咱们是刚入门,直接了解语法后,甚至语法都是半知半解。

直接上手的框架。

这已经不是盲人摸象的问题了,是盲人拄着拐棍在摸。

太难了。

明明就刚摸了大象的一个脚指头,就非要去了解大象的消化道原理。

我觉得是不现实的。

不要为变强找借口(并不适用任何人)(16)

那刚才说,我个人认为学习开发就是要熬着时间,不停积累。

但前提是,要有完整的开发思路。

不能对某些关键问题避而不谈,然后说自己只是专门某一领域的开发者。

比如前后端,一定给自己一个定位。

这根本不是一个前端可以不去了解,数据库SQL语言的理由。

可以不精通,但你不能不知道。

这样的话反过来,同样适用于后端。

不要为变强找借口(并不适用任何人)(17)

那我们小伙伴就很困惑,难道我们最一开始只能抄代码吗?

就没有一点点的捷径?

有啊!

抄完代码,不要去纠结代码每一句的内容。

你要去用它。

你要用肌肉感受代码设计者,为什么要这样设计,为什么这样安排业务逻辑。

打一个比方,我们做网站,最经常看到的需求就是,做个商城。

包括看我付费视频的小伙伴。

就问我,为什么视频最后的实战,是做个博客,而不是商城。

我一开始听到这样的问题,很困惑。

为什么会这样问,后来我就还是回想我当初大概是2014年的时候。

我也是这样对网站进行了分类记忆。

好像网站就应该分类:

企业官网,个人博客,社交论坛,商城网站。

这听起来就不是分类,像是要报价......

就到现在,你去任何建站服务商,开发各类网站的分类中。

都能看到一样的分类。

那么目前可能还会多一个,小程序

不要为变强找借口(并不适用任何人)(18)

给人直观的感受就是,企业官网最简单,博客几乎与前者一样。

论坛难在于用户系统复杂,商城网站就是web开发的至高顶点。

能做了商城,你就是生产力。

如果你有这样的理解,我以一个网站外包开发者的视角给你重新解释这个分类原因。

不要为变强找借口(并不适用任何人)(19)

企业官网,目的在于宣传。

这样的网站在真正的意义上,其就是三个页面的事。

首页,列表页,内容页。

内容就是图文,列表就图文的列表。

首页就是花哨的设计。

最多加一个在线客服的js控件,再配一个表单提交的留言框。

这样企业官网就有了。

就数据库而言,你觉得这样一个网站需要几个表?

连栏目设计在内,至多5个表,就能做出90%了。

那博客呢?就是图文信息呗!

可以有用户留言,用户系统的进入,就有了权限的概念。

在我目前的认知里,后面的社交论坛与商城,全部都和博客的本质没有区别。

博客是一个人发文章,其他人评论。

论坛就是每个人都可以发文章,都可以评论。

相比起论坛,商城我觉得更简单。

一篇文章与一个商品的区别到底在哪?

我们仔细思考。

是不是付款?只要能付款,是不是就是商城真正的区别。

那如果我让我的文章可以打赏呢?可以付费查看呢?

是不是我连数据库表名称都不用改,换一套前端的皮,就是商城了??

我说的没错吧,如果你没能理解。

说明这不是新手的问题,是真的用的太少。

简单点说,就是上网上的太少,网站见的太少,用的太少。

不要为变强找借口(并不适用任何人)(20)

那么ok,打个比方:

一个没有开过网店的人,学完开发,能不能建出一个可用的商城网站。

不能吧。他连商家后台如果工作都不知道,怎么建?

建出来的东西,别说甲方和用户会不会用。恐怕连支付接口都对不上。

为什么呢?再打个比方:

我们都会用淘宝买东西,那你知道

为什么我们不论是点击购物车还是立刻购买,根本无法做到真正的立刻付款吗?

点击之后一定会跳转一个中间页,这个页面中一定会有一个订单信息。

真的考虑过这个问题吗?

从表面上看,我们需要一个订单表。

用来记录我们的购买行为。

那为什么就不能直接后台处理一个订单数据出来,直接结账不好吗?

理论上其实可以啊,没问题的,关于订单的一切我们都可以在后端自动处理,但这没有意义。因为支付平台,还有一次订单确认页,不论是支付宝还是微信。就是要用户,看清楚多少钱,然后输入密码的页面。到了这个确认页,用户能看到的信息会少的可怜。只能靠文字来了解这一次收款的内容,用户如何付款?连商品规格可能都没有选清楚,怎么付款?这不叫用户体验,这叫用户恐吓。

这样的支付流程就是赤裸裸的一句话:

不要为变强找借口(并不适用任何人)(21)

我,卖,打钱

不要为变强找借口(并不适用任何人)(22)

做过商城的小伙伴,有没有这种经历。

甲方要求的项目安排,就是要快速付款。

恨不得用户连密码都不用输入,点他网站一下。

钱就到账。

就这种快速付款的需求?如果有,恭喜你,遇到这种甲方,赶紧应付完收尾款吧。

因为可能收不回来~~

不要为变强找借口(并不适用任何人)(23)

极端外行,什么都不懂,然而他们却拥有一些深入浅出的知识概念。

这不光是甲方,很多产品经理也是这样,自以为懂得。别人说操作流程,就是用户流失。他觉得有理。别人说用户体验,就是用户粘性。他觉得有理。他连流程是什么都不知道,用户体验又是什么,也不清楚。

然后因为他在测试你开发的产品时,不会用,嫌麻烦,就开始要改改改。和淘宝一模一样的流程,他用淘宝的时候,咋不觉得麻烦呢?你要这样问,100%一句话回过来:

“产品没有特点,怎么占据市场?”

有 没 有

他连支付接口用的都是支付宝微信,能有什么特点?

这就是追求深入浅出的人,除了坑别人,更是坑自己。

当他们失败时候,抱怨的是这个世界不给他机会。

我见这种人,见得太多了。

不要为变强找借口(并不适用任何人)(24)

我们是开发者,我们是复制者,我们同样也是创造者。

我们不能去追求深入浅出,我们要的是脚踏实地的干。

如何开发一个好用的产品,首先我们要见过好的产品。

将成熟产品的使用方式与开发模型,像肌肉记忆一样刻在我们的脑中。

我们才能有开发的思路。

不存在的东西不代表是创新,只能代表没必要存在。

创新一定是建立在现有基础之上的,因为这世界上本来就不存在凭空出现的东西。

这句话说得太绝对了,可能有些小伙伴会不爱听。所以呢,如果你遇见凭空出现的东西,请打在评论,让我见识一下。

但是说的时候要想清楚哦,苹果手机不能算凭空哦。

大屏手机早就有了,

ios系统继承的是乔布斯之前的什么产品系统,

并实现端对端。

可以看看乔布斯传记或者电影。

Facebook不算凭空哦,先不说他的SNS理论与网站构架。

就在他建站初期,就有同学告他窃取创意。包括windows,IBM,燃油发动机,计算机始祖图灵机,我们都可以在其诞生之初,找到前身与创造基础。那么你可以告诉我什么是凭空出现的?

孙悟空嘛?

猴子啊

不要为变强找借口(并不适用任何人)(25)

这世上哪有什么深入浅出,哪有什么一句话解释世界。

都是实实在在干出来的,才是成果与创造。

那些一生去琢磨深入浅出,一鸣惊人的人,仔细想想。

他们是不是同时信奉这一句话:

做领导不需要懂技术?

对这种观念,我不敢苟同。

但限于篇幅,也不愿多说什么。

他们不懂技术自有不懂技术的好处,不然我们挣谁的钱?

不要为变强找借口(并不适用任何人)(26)

那么ok,本期的内容,其实就是想回答最近很多小伙伴问我基础太弱,抄完代码也觉得没学会,怎么办。

其实在群里,有其他小伙伴已经替我回答了,就是抄两遍,不行就三遍。再不行,就从前端点一点你开发的东西,从肌肉和肉眼去理解我们在干什么。这样才能真正形成解决问题的思路。

计算机语言也好,框架也好。

大多数都是舶来品,即便是国人开发。

也难逃被更新淘汰的命运,我们反复的练习与理解。

为的不是某一个语言与框架,为的是具体场景的解决方案。

深刻理解,并动手实现。

只有套路记得够多,一个人才能成为围棋高手。

编程也一样,如果你一定要寻根刨底的研究代码原理。

还是那句话,for循环,if判断都是语法糖,大可以去研究,没人拦着你。

下一步,怕就是汇编了。

汇编也会遇到固定套路,难不成要去研究芯片?

不要深入,也不要浅出。

不要费力的去追求一句话概括世界,或者什么改变世界的奇妙的点子。

刚刚开始,就先做,做的够多,才能理解。

做到人做不到的,才能成神,这世上根本没有一步登天。Ok~~怎么理解够好,不管你觉得本期内容是给了你鼓励还是消极,但如果感觉有用呢,请给个一健三连吧。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页