1.3 知识储备
1.3.1 必备知识介绍
在学习ASP.NETMVC之前,要有C#、ADO.Net、SQL、HTML、CSS、javascript、Jquery、ASP.NETWebForm的基础,那些所谓零基础快速精通ASP.NETMVC的都是假的。没有扎实的基础,即便教会了精妙的剑招,耍出来也不会有什么杀伤力,反之,如果基础够扎实、内功够深厚,哪怕简简单单、平平无奇的一招也能有势不可挡的威力。
1.3.2 树立软件开发信心
在正式学习软件开发之前,你一定要树立信心,相信自己一定可以学会、可以学好,这样在遇到困难的时候才能坚持下去,毕竟求知之路较长,每当快坚持不下去的时候要学会安慰自己——有许多梦想总是遥不可及的,除非你坚持。
有人说,程序是由数据结构和算法组成的,所以数据结构和算法非常重要,大学里面学的C语言和高等数学课程必须要学好;还有人觉得软件开发适合理工专业的人,学文科的不适合做软件开发……
数据结构和算法是很重要,但是并不是一定非得数据结构和算法学得很熟才能胜任软件开发工作,算法除了做游戏开发和搜索引擎等少数开发方向用得比较多以外,做一般的软件开发很少用到,更多的是侧重于应用型开发,说白了就是熟练工种,也难怪许多程序员自嘲为码农、搬砖工。算法的重要性显得并不是那么重要,更重要的反倒是面向对象的思想,因为大家使用的是C#这样的面向对象的高级语言。数据结构的话,做一般的应用开发知道基本原理和怎么用就可以了,不一定非要钻得很深。当然,算法和数据结构学得好,对做开发还是大有裨益的。对于数据结构和算法,能学好最好,学不好也没关系。
学做软件开发和学武是一样的,除了勤学苦练、多思考之外,没有捷径,如果硬要说捷径,那就是编程、编程再编程。要知道,看一遍跟自己做一遍的效果是完全不同的。看一遍往往一觉醒来就忘了,但是自己动手做一遍就会记得深一点,如果再思考总结过,印象就更深了,若是被深深地坑过,那么恭喜你,很长一段时间都不会忘记了,以后也很难犯同样的错误。
人与人之间的IQ差距不会太多,如果不幸低于平均IQ、悟性差,那就只能像郭靖一样以勤补拙了。我相信,如果你能大学毕业,就说明IQ没有问题,既然IQ没有问题,那学软件开发也就不存在任何问题了,前提是你肯学。
我一直觉得学软件开发无外乎三板斧:一抄,二仿,三思考、创新、钻研+总结。最终目标是青出于蓝而胜于蓝。
最后,做软件开发的并不只有做技术这一条出路。在职业生涯中,我们会遇到各种机会和挑战,不要把自己框死在just do coding上,先学做人,再学做事,要学会与人打交道,而不是只和机器打交道。