最近刚把c语言学了一遍,想试试实战项目,然后现在我心态彻底炸了,我已经开始怀疑我自己了,我有一本c语言的书,带了一本项目实战,这不学完了吗,就想把这个看看,第一个五子棋,今天弄了老半天,根本理解不了啊,只能看懂最简单的棋盘是怎么弄得,剩下的很少有能看懂的,尤其代码中指针那里,我是真的理解不了是什么意思,还有好多东西,有段代码我删了,程序也完全可以正常运行,我就蒙了,但是这个书上说学完数组就可以上了,我这。。。,是我学习方法有错误吗,还是我太菜了....


道阻且长,任重道远

如何看待学不会C语言(指针)的处境??

www.zhihu.com图标


自学就是这样嘛。先怕个几年到十几年的坑。

你看我现在搞c语言项目的重构。说白了是把c语言代码重构成c++代码。

更确切地说,利用协程去解耦。

那么,我需要看懂代码是什么意思吗? 我根本不需要。因为就应用流程来讲,所有的代码,都是往图形库,io库,网路库里面送数据,然后调用库函数。说白了,有点像送快递一样。

那么,我只需要拿笔画上图,这个数据从哪里来,又往哪里去。数据B要通过哪个协程渠道送出去。哪个协程渠道返回到什么地方。看起来就是一个交通线。然后围绕需求,造城市,再造省城,再造各种交通线。整个过程根本不在意,具体语句的含义。最后所有代码都重构成我说的这种架构。然后代码调通就可以了。

现在的你,肯定不知道我在说什么,因为你是自学的嘛。自学就是慢。我是循序渐进,不为牟利,所以我放弃很多时髦的选择,同时也规避了利益给技术的严重干扰。内心得到平衡。

那么,如果在你这个阶段提点有用的建议的话,那就是用协程思想去写代码。然后顺利过度到c++,只要与时俱进,这玩意能干一辈子。

关于指针的理解。

有 a和b两个仓库。 仓库指针p,可以指向任何一个仓库。 然后*p就相当于 a或者b了。

好处是,传指针,大量节省空间和时间。增加复用。

指针的本质就是一个dword(64位)这么长的数字,里面保存的是内存地址。再用类型转换一下这个地址,再用同类型的指针一指向。然后就正常地使用这个指针了。


就像写不了英语作文,不是英语不好,而是中文不好。

看不懂代码,不是因为代码,而是没懂计算机如何解决问题。

现实的问题如何用计算机能理解的方式表达,这是代码的意思。


因为**有些**编书的人没把代码可读性放在心上,多见于国内计算机教材和参考书。


原本我以为写代码是很简单的事情,直到我在知乎上反复看到这类问题


实战没有必要直接上手项目

建议学著解一些演算法方面的题

项目感觉学习性价比很低,很多事情不是在语言本身,既然是初学,还是把基本数据结构演算法之类的吃劳好


一个项目看不懂有很多方面的原因。

1、有可能项目对于你来说太难了,所以你看不懂。就像小学生看微积分,他也看不懂。

2、可能这个项目写的不够好,所以你看不懂,那你可以看一些代码结构比较好的代码。

3、一开始不要看代码行数很多的项目,从小项目看起是一个不错的选择。


打好硬体基础,理解冯诺依曼体系结构,计算机组成原理


我做了4年c++了,我自认为看代码完全没问题,自己之前接触的项目也是无人指导零文档,但是我很快能理出代码的运行流程,知道项目是咋回事要干啥!接触过不同项目,有的项目代码难度还挺大的我都搞定了!可是这次我他么也栽了,项目代码看不懂,好郁闷啊!不是因为语法,而是为什么要这么写,这个函数到底要干啥,我看的完全懵逼,代码运行流程搞不清楚,也没法调试,代码量挺大的,看的真的难受!不知道各位大神遇到看不懂的代码是怎么解决的!!!

经过几天的奋斗有点眉目了,原来我看到是资料库线程池和资料库驱动代码,这家公司在开源项目中加了一些自己的业务逻辑搞得项目!我说咋那么难看呢,看来自己还是太孤陋寡闻了,水平还是有点跟不上趟!


1、阅读他人的代码就要阅读其中的精华,站在巨人的肩膀上,让自己成为巨人。

2、不要消极的去阅读别人的代码,而是带著挖掘宝藏的精神去寻找别人的代码中精华的部分,找出其中好的架构为我所用。

3、了解别人的代码意图,然后再去修改,扩充,抽取,提炼精华。这是进阶的必经之路。

4、要了解别人的代码,首先要熟悉代码中的命名规范。

5、阅读代码的目的在于了解系统全貌而非了解细节。

6、心中必须有对架构的层次感,例如,如果谈到对事件驱动式的架构时,应该想到,这个系统主要有三个重要角色,事件调度,事件产生,事件处理。从上而下了解,先不关心内部细节。

7、从作者的角度去理解代码,理解架构。


推荐阅读:
相关文章