作为一个大一的学生,其实不用过于着急,只要你规划好你大学四年的一个学习提高计划,未来你也就是大佬。
提高编程技术的唯一办法就是实践
大家不管是看过再多的书,分析了再多的源代码,你不去自己写一下代码,很难知道其中实现的一些原理,为什么这样实现?相比其他实现方式有什么好处?
所以,“实践是检验真理的唯一标准”这句话到哪里都很适用。
虽然大家说需要实践,但是怎么实践?可能对于大一的同学来说,这个也是一个搞不清答案的问题。所以,大家需要整理一个粗略的学习计划,按照这个计划,大家一步一步来丰满自己的学习内容。
学习计划
学习计划的话,偶只能简单分享一下偶的一些想法。
首先,大家大学的课程还是要学好的。可能有人会觉得,大学学的东西在未来的工作中不一定会用得到,还不如多学一些实际应用的知识。
偶可以很负责任的告诉你,这种想法是错误的。大学学习的所有东西都是基础,而基础一定是很枯燥的。但是,在经济学中大家学到过:经济基础决定上层建筑,计算机的基础也是一样的。你未来成就的高低,很多就在于你的基础是否扎实。所以,珍惜大学这段能否全心全意且无忧无虑学习的时光吧。
在大一的时候,除了基础的学习以外,自然大家还是要更多的丰富自己,毕竟单靠基础什么也做不了。所以,大一的时候,大家就在编程的基础知识上也下点功夫,学习一下语法、数据库、简单的架构和算法。
边学习的过程中,可以边通过实践来练习自己的能力。偶曾经在大学的时候做过两个练习,也可以分享给同学们(不知道会不会过时)。
一个是计算器,别看计算器的功能很简单,但是里面能够玩出很多的花样,可能最开始你需要几百行的代码才能够做出来,随着你知识的积累,可能最后几十行代码就实现了。标准的计算器实现以后,就可以考虑提升难度,做做支持科学计数法的计算器。当然,如果你想挑战自己,还可以将科学计数法中的算法自己来实现。
第二个就是音乐播放器了,这个就不多说了,当然,做播放器的话,可以去找一些开源的插件,不必什么都从头开始,最终只是实现播放功能而已(偶大学时候也做过一个)。
“力扣”也是一个不错的网站,这里面有很多练习题,可以在这里锻炼自己的代码能力。
到了大二,自然就不能只是单纯的谢谢代码了,大家要从设计模式、架构、通讯协议等各个方面来优化自己,其中就还需要学习使用各种类型的中间件。而这些方面的知识点其实是非常多的,很多东西没有放到实际的环境中,其实很难能够体会到原理。所以,大家还是先学习理论,啃书的同时,可以自己假设一些环境,来做做练习。
虽然自己假设的内容可能和实际差距非常远,这个没有关系,错了再改正,其实印象会更加深刻。
这个时间,可以多看看别人的代码,开源社区里面有很多可以学习的内容。例如:你看到了领域驱动设计,光看书的话,估计真的是云里雾里的。这时候就去找别人写的代码来看看,一句一句的Debug理解,再回来看书的时候,你就50%以上都能够懂了。
当然,学到合适的时候,就可以考虑学以致用了,找找兼职,不求赚钱(但也别白做,虽然你是学生,但付出劳动得到回报不可耻),但求练习自己的能力。
到了大三,其实大二的那些内容可能很多你并没有完成,没有关系,很多的知识直到你工作多少年以后,可能都还在继续学习。大家没有完成,但是依旧可以进行下一步了,就是定目标。经过大一大二的这些练习,在开源社区的活跃,你未来想从事哪个方向的编程就需要定一下了,因为各个领域所需要的知识点是不同的。
如果你要做电商,那就了解一下电商领域的各种知识,什么是电子商务,什么是供应链。如果你对行业内的应用程序感兴趣,那可以了解一下财务相关知识,管理相关知识。
然后就是,大三可以说是你全心学习的最后一个阶段,可以考虑为未来做些打算,参加软考拿点证书等等。
大四了,就没有什么好再说的了,路都在自己的脚下,怎么走出辉煌也就看自己了。