软件编程 我是一个菜鸟

2019-07-13 08:30发布


    在今天以前我是软件编程方面的一个菜鸟,从今以后我仍是菜鸟。
    在写这篇文章之前,我向他人介绍我的时候,我会说“我有两年的编程经验,我精通C语言,我用嵌入式Linux开发过项目,我用C++、Qt、C#、Java编写过PC上位机应用程序,我从事过嵌入式Linux、Android移动引用程序的开发“。今天我对自己有了一个新的认识,我是编程方面的一个菜鸟。我希望通过对android学习的总结,改变自己以往的学习方式。
    Android学习已经进行两个月了,参考的是李刚的《疯狂Android讲义》。第一个月将书认真的看了一遍,并且将每块学习相关的例子都演练了一遍。在将这本书上的例子学习的差不多的时候,我开始和学习Qt、C#一样着手以做项目来提高自己的编程水平,我android训练项目是仓库管理系统。并且在这个月的20天里,我都是以仓库管理系统为媒介在学习的,在这期间我改变过一次学习方案,因为考虑到我是以打基础的目的做项目的,不是为做项目而做项目。我将计划时间延长了两倍。直到今天我仍然在努力完成这个项目,尽管期间遇到了很多问题。
    直到今天下午我才认真的反思了我现在的学习方法(也应该是大多数软件菜鸟的学习方法)。
    在刚开始学习新的知识的的时候会有一种在做流水账的感觉,书刚看过一遍后,理解比较深入,感慨也比较多,但是,半个月或一个月后就会发现曾经看过的知识还都在书上,自己的脑子中存在的寥寥无几,并且曾经做过的试验也都留在的电脑里,现在用到相同的功能,自己还要找到当初试验的代码,才能够理解并快速使用。通过网络了解和我自己的感受,程序员的记忆力是非常差的,往往刚学习的东西三天后就忘得差不多了。我刚从C#转Android的时候,学习android一周后因为外在原因我又用三天时间做了一个WCE项目,三天后我发现我连最基本的JAVA语句都写不出来了。往往都会把android和c#类的用法搅浑,那段时间是我感受最大的时刻。
    在学习完基础知识后,我会思考一个可行性的项目来检验刚学的知识并在其中发现问题学习新的知识。在以前我一直认为知识最适合我的学习方法,也是提高学习能力里和解决问题能力最有效的方法。我往往会花费20天或一个月的时间来完成一个简单的综合项目,至此我就会认为我的软件学习已经差不多了,我已经有独立完成项目的能力了。但是有过项目编程经验的都知道通过一个项目是不能说明在该知识上的掌握程度的。因此,两年了,我还是一个菜鸟!
    经过一下午的思考,我构思了新学习方法,寄意解决我软件学习过程中学习效率不高的问题,也希望对软件菜鸟有所帮助。
    首先,学习一个新的知识的时候,手中要有一本权威性的书籍,对于基础的学习还是参考书中的讲解主线为主,书中有很多专业性的东西刚开始是看不懂的,也没必要看懂,以后还会忘。我认为书是没有必要认真看和全看的,拿到一本书后只有两个地方是需要认真看的,书的第一章(学习内容的发展方向及前景,学习相关知识),书的目录(了解该方向包含的内容)。其次是每个章节的第一节(对每个模块了解其功能)。
    其次,书中或网上下载的众多试验案例也是没必要完全去练习的,对于一些类或方法,只要在书中了解其功能就够初学者使用了,真正应该掌握的是编程语言相关的基本语法,只需要将这些案例理解并熟练就可以了。
    接下来,在看完书本和做完实验后,连入门级都达不到,接下来要做的就是实践、实验,真正的实践。每本书,或者网上都有一些简单的综合项目案例分析,只需要将这些完完整整的敲下来并理解案例中每段代码的功能(这个时候要认真的看书中相关的模块了)。这个过程是很有必要的,通过对项目的分析,了解项目开发的整个过程,重点是有了开发项目的思路。然后仿照着做自己构思一个类似的项目,关键是遇到问题可以参考上一个项目。
    最后,从网上看一个项目内容,开发一个项目可以完成它要求的功能。这时候对新知识的学习基本入门了,然后在一些相关论坛中参看其他人的软件设计,思想的碰撞才能出现知识的火花。综合多数编程者的思路才能对接下来的学习有所提高。

    这篇文章主要是我对自己学习方法的总结,也整理出对未来学习方法的改革。写给未来还是菜鸟的我。
无线电协会 也无风雨