上海千语创想科技有限公司
 175-2108-6175
网站建设资讯详细

程序猿除了编程语言还需要学什么?

日期:2020-11-22  作者:千语创想  浏览:6507

软件开发的确是一个系统性的工作,需要很多方面的知识和技能。根据我的研究,一个合格的程序员,单单是专业能力,就需要从技术栈、工具链、程序设计、架构设计、工程化、软件环境、软件开发模型、业务、产品这9个方面来学各式各样的东西。


当然并不是每个方面都要学很多很多,而是根据个人所处的阶段不同,有选择的学习。选择的原则是——满足本阶段的工作需要。


你刚开始,属于新手,典型的特点是在别人指导下完成非常具体的工作,那架构设计、业务和产品这三个方面基本可以略过,所以下面我只说技术栈、程序设计、工具链、工程化、软件环境和软件开发模型这六个方面都要学点什么,然后再给出项目实战怎么学。


一、技术栈


技术栈指软件开发特定技术方向的一系列技术的组合。


你学习C++,那以这个方向为例来说明。技术栈可以细分为语言、应用开发框架、数据库这三个方面。


语言方面,C++你已经在学了,可能还会牵涉到一些标记性的语言,比如XML,还可能会有混合语言的编程,需要学JS、Lua、Python等,根据项目需要来选就好。你初学,又没有明确的项目要求的话,先搞定C++本身就好。


应用开发框架方面,就特别多了,比如STL、Qt、ffmpeg、libevent、Vorbis、OpenAL、OpenCL、C++React、Crypto++、OpenSSL、CppUnit、Cocos2d-x、CEGUI、wxWidgets、Ogre 3D、Skia、CxImage、OpenCV、Caffe、SDL、GStreamer、ACE、ZeroMQ、libcurl等等,干什么的都有,根据你要做什么样的项目来选择一两个就好。


数据库方面,也有很多,MySQL、Redis、SQLite、MongoDB等等,你要做的项目需要数据库,就挑一个,不需要,就不管它好了。


二、程序设计


广义的程序设计包含很多过程,比如分析、设计、编码、测试、排错等等。我这里说的是狭义的程序设计,仅仅指如何让程序变得更简洁有效更优雅的代码层面的设计。


这块需要了解数据结构、算法、编程惯用法、设计模式等等内容,初学的话,了解一些数据结构和常见的算法就好,其他的等干上两三年再来学也成。


三、工具链


工具链指的是在特定平台上的一套用于支持代码编写、编译、调试、运行、分析的工具组合。


就C++而言,你可以掌握一种IDE,比如Qt Creator、VS Code,这些IDE,一般都打包了编辑器、编译器、调试器和各种分析工具,一站式解决你的问题了,初学时基本不用别的了。


四、工程化


工程化工具,指的是编程、调试和分析等工具链之外的各种支持软件开发工作顺畅进行的工具。


你现在是新手,掌握两个方面的东西就好:


掌握一种代码版本管理工具,git、svn、github、gitlab,都可以;


掌握一种安装包制作工具(C++的程序有各种依赖,不做安装包的话,装到别的机器上很费劲),比如Inno Setup、NSIS或者VS自带的,都可以。


五、软件环境


软件环境指的是完成开发所需要的支持环境和软件产品运行所需要的支撑环境。


假如你用C++编写的软件,在Windows下运行,就需要Windows操作系统、Windows上的各种运行时,这些也是你需要了解的,比如C++的运行时库、MFC的运行时库、OpenSSL的运行时库,起码要了解他们是什么,从哪里可以找到,应该放到系统中的什么地方。


如果你在Linux环境下开发,软件在Linux下运行,那你就要熟悉Linux的常见命令、脚本(Shell/Python)等。


除了操作系统和各种运行时,还有你软件所需要的协作软件,比如你用了数据库,那你还要了解数据库的安装、驱动的配置等等。


六、软件开发模型


软件开发模型是指软件开发全部过程、活动和任务的结构框架。常见的有瀑布、迭代、精益、敏捷等。各种模型现在都有在用,推荐看经典教材《软件工程》,里面有各种开发模型的简要介绍。


七、项目实战


以上分门别类介绍了要学什么,但往往是,我们学了很多东西,不知道怎么做项目。对初学者,我建议是分三个阶段:


刷题


照抄项目


自己设计项目


第1个阶段——刷题,一方面你要做你用的C++教材上的课后练习和小项目,另一方面,也可以使用leetcode来刷题。


第2个阶段——照抄项目,可以找专门的项目类的图书、课程等,跟着学,跟着。这里做推荐一本书好了,《C++项目开发实战入门》,上面有一些项目,可以参考。


第三个阶段——自己设计项目,可以从自己看到的需求出发,比如图片浏览器、音乐播放器、录音机、文件管理器等等,都可以做做看。这个阶段你做出来的,就属于真正的程序了。


等你完成这三个阶段,能自己搞定一些小项目,基本上,C++就算是入门了。



转载请注明来自:https://www.qianyuthink.com/news/7194.html

填写您的项目需求给我们

或者直接拨打 7×12小时一对一咨询电话

175 2108 6175

请填写需求信息,我们会在10分钟内与您取得联系

请认真填写需求信息,我们会在10分钟内与您取得联系

×
客服二维码
咨询技术总监
175-2108-6175
客服二维码
技术总监微信
客服二维码