我猜,你点开这节内容很可能是因为标题 “为什么你觉得学编程好难?”,请允许我无耻地笑一下:)
在开始正题之前我想先简单说一下我自己的经历。我是一位在软件开发行业摸爬滚打了十几年的资深屌丝,我接触过的编程工具从汇编、C、C++、VB ,一直进化到 C#、Java、jQuery、Bootstrap、HTML5 ,以及最近几年很火的 Python、Vue.js 等等。
前几年我出版过一本微信公众号企业开发方面的书,读者反馈还不错。至于其它技术相关的系统架构、并发、异步、分布式,以及 10 年创业公司挂板的心路历程等等,由于与本专栏内容无关就暂且按下不表了,我们有机会再聊。
在这十几年的工作中,我有幸与一千多位面试程序员产生过交集,带过数百位程序员新手,他们当中有研究生实习生、大学应届毕业生、各类 IT 培训学校的培训生,当然还有半路转行的等等。
在与他们共事的过程中,我发现了一个很有趣的现象,有的同事一点就透、甚至无师自通,另一部分同事则在代码评审被打回修改多次后,却总还是提交让人难以理解和 Bug 遍野的代码……
为了解决这部分同事编写代码的效率和质量问题,我曾经想了很多办法,比如定期组织内部学习高质量源代码,期望达到 "读码百遍其义自见的效果"。我还尝试过建立各种高度封装的开发框架,尽量减少程序代码编写量,毕竟少写少错对吧。
然而冷冰冰的现实结果击碎了我满怀期望的憧憬,现实结果告诉我这一切都是 "然并卵"。
直到有一天,一个软妹子前端程序员无助的眼泪和委屈的倾诉,让我一下子开了窍。他们不是不想编写出优雅的代码,他们只是在编程的时候没有清晰的思路。
所以他们采用了一种非常牛逼的 “搜索编程大法”(当不知道怎么办的时候,他们会去搜索引擎找别人的代码片段,然后一个一个尝试,哪个改一改能正常运行得到结果,OK ,这段代码就写完了)。
我想,正在看这篇文章的你,不是这样的吧:)
没有思路,没有思路,没有思路。何解?
其中一种可能的解法,就是在公司内部培养新人程序员时,我教给他们的编程思路梳理方法 “分类拆解法”。目前看来这个方法效果不错,特别是对我们公司的前端新人来说。
在公司近 3 年招聘渠道并没有大调整的情况下,实习生的淘汰率降低了近 70% ;开发小组在同样人数的情况下,开发同样规模的项目工期缩短了 30% 左右(虽然开发成本并没有降低,毕竟程序员很多,好的程序员仍然是稀 [hen] 缺 [ gui ] 的)。
“分类拆解法” 是我决定开设本专栏的一个主要原因,也是本专栏我认为最有价值的内容之一。
专栏的另一个核心价值是实战商业项目 “会员制社交电商小程序”,包括:
- 如何一步一步完成整个项目的设计、开发、上线;
- 如何使用这个实战项目作为你的小程序和 GitHub 作品,增加你的面试竞争力;
- 当然还包括可以直接用于商业用途的完整源代码。
如果你是:
- 毕业后想从事软件开发的大学生
- 正在参加培训机构培训,想找软件开发工作的同学
- 想自学转行软件开发的职场人士
- 刚进入软件开发行业的新人
- 有商业计划构思,想自己开发小程序启动创业的人
或者正在到处找药方。
或许,可以来试试这一剂肯定不能药到病除,但的确可以减轻症状的小秘方。
下节预告
下一节,我们先来具体谈谈 “分类拆解法”,之后再进入微信小程序开发的具体内容。因为整个专栏内容都是以 “分类拆解法” 为基础方法论的,整个实战项目内容也是完全按照分类拆解法来一步一步实现的。