很多C语言开源软件的源代码很难懂,要快速理解有什么技巧吗?
阅读代码是一项重要的能力。
你觉得技术比你弱的人拿的工资比你高,他有一项很重要的能力就是阅读代码。
开源代码在变量命名上,注释上一定做得比较好了,你所看不懂的地方只有2种可能。
1,编程技巧。这种比较容易弄懂,如果你对编程语言熟悉的话,一步一步展开来就知道作者想表达的意思了。(这个就像小时候学语文的语法,“把”字句改成“被”字句,意思没变,写法变了)
2,算法。这个就算你一步一步展开都不一定能看懂,这个要有一定的数学知识,比如向量积,线性回归,微分方程,卷积等。如果是很专业的产品,还要涉及到物理,化学,电气,概率论等等。(这个就像阅读文言文,没学过就看不懂,还可能会理解错误)
所以看不懂代码就只有提升自己的知识水平,没有捷径可走。但你可以针对性的去训练上述2条中的弱项,语言是基础,算法是核心。
记得我第一份工作是做单片机产品维护,平时工作就是在现有的产品上改改功能代码,增加新功能。那个时候没做过什么产品,虽然也会C语言,但是看别人代码就像看天书一样,主要是技术不到家,还遇到过一些让人吐血的代码,可能是公司得罪了那个工程师,代码里没一个注释,而且变量名全是k,kk,tt这种不好理解的,简直让我想把那个工程师罚站马路中间半个小时,感觉还不如自己重写快一点,后面慢慢的积累了一些经验才发现自己当时看代码的方式和思维不对。一个源码,如果你用通过代码去理解产品功能那你一定会看到心肌梗塞都吃不透,正确的应该是先把产品功能吃透,然后把功能分模块进行分析,如果是我,我会怎么用代码去实现它?最好自己写代码做一遍,在写的过程中你一定会碰到棘手的技术点不知道该怎么去实现它,这个时候最好自己努力思考一下,最后不管你有没想出来,你再去看别人的代码是如何实现的,这样你就能一步步吃透别人的代码,至少程序架构的核心部分知道怎么处理了,剩下的细节实现其实已经无关紧要了,这是一个循环渐进的过程,也是提升自己水平很好的方法,过程越痛苦你的提升就越大。
c语言编程用哪个软件好?
CodeBlocks还凑合,不过得配置代码格式化快捷键,而且自动补全感觉不太好用。说实话这个开源软件理想很好,但是资源不够,目前没啥竞争力。DevC++同理。
Visual Studio可以用来写C++,而C++基本兼容C语言,所以可以写C语言。不过VS太庞大了,基本上属于大炮打蚊子。
Jetbrains系的Clion也是一个非常好用的IDE,如果你之前用过IDEA的话,相信会很快爱上他的。不过收费软件,就不提了。
所以,这里再次安利一下VSC,Visual Studio Code。微软亲儿子,更新速度很快,基于Electron可以跨平台,数量庞大的扩展可供使用。而且C/C++扩展作为微软官方插件,质量也有保障。
VSC的C语言开发环境搭建也很简单,下载安装MinW,然后安装C++扩展,即可享受C语言开发。格式化代码、自动补全等等功能全部都有,还等什么呢,快试试吧!
1、Windows平台下,VC++ 6.0,Make+Makefile,这都是必须知道,其它的可以参考着学习一下,比如:VS系列、Rose(画图的),MinGW,还有一些编辑工具(UE,Notepad++,VS,Workbench等等)
2、Linux平台下,GCC/G++,Vim,必须会,前者是编译器,后者是编辑器
3、另外安卓、苹果开发等等,也都有专用工具
当然了,大部分平台和工具以及应用软件都是C基础开发的,所以C语言有多重要就可想而知了!