看源代码时,你喜欢怎么做笔记? 看电子书如何做笔记?

作者&投稿:翟孙 (若有异议请与网页底部的电邮联系)

不要一上来就啃源代码,去搜索和代码对应的『代码架构图』和『开发者手册』,后者会提供代码的设计思路和很多概念的说明,还会将代码中的注释进行整理汇总,非常有用。当我看了2天的代码,即将要崩溃时。找到了『数据流图』和『开发者手册』。在LinuxCNC的根目录下有directory.map,是为代码的组织框架,根据这个,可以快速定位到核心的代码所在的文件夹。 LinuxCNC的核心代码有2个文件夹,每个又包含有几十个c文件和h文件。切忌一开始就将精力放在细节上,开始我通过c文件的名字寻找我觉得重要的代码,然后逐行逐字地看,花了很多时间,完全摸不着方向,挫败感很强。 后来经师兄的提醒,逐个看c文件,只关注『函数名』和是否为内部函数,『头文件、变量、输入参数、输出参数』都忽略掉,并根据注释或函数名大致确定每个函数的功能,整理成文档。 经过第4部,就能知道哪些c文件是核心,哪些函数是核心中的核心,然后从某一个函数开始,跟踪到无法跟踪下去为止,可以用『树状结构』记录这些调用关系,经过这步后会对代码整个的操作流程有个整体的认识。这个过程当中需要留意源码中的注释,那是很多前辈的智慧,他们将思考、疑问、心得都写下来,今天看到了一句注释『This is the brains of the operation.』,激动啊。因为还不清楚『数据结构』,所以这时的认识很笼统。 从核心c文件包含的头文件开始,梳理『数据结构』,LinuxCNC里面有大量的结构体,建议将重要的『数据结构』整理出来。 接下来goto第5步,不过要挖的细一些,碰到不懂的『数据结构』,goto第6步,有啥新心得体会都记录下来,until你觉得看懂了源代码。 ps,看源码是一个来回跳转的过程,需要一个好的工具,至少得具有『语法高亮』『宏、变量、函数列表』以及强大的跳转功能,我用的是Vim。



学习编程的人,往往绕不过 Github,经过这段时间的尝试,我发现 Github 的确有很适合做笔记的地方。 但,非常不建议用issue,其最大的问题在于不支持 git 操作,也就是备份及版本管理非常麻烦。 顾名思义啊,issue是提出问题,讨论问题的地方,用这个写笔记,抑或是写博客。的确非常特立独行,但是否真的合适,值得商榷。我知道这种方式的流行是因为某些前端大牛。但,我始终认为,永远不要跟风大牛的行径,多听听自己内心的声音。  那么在 Github 我推荐什么?是 Wiki,About GitHub Wikis · GitHub Help。这个东西的初衷是用来做项目说明文档的,而文档,不就是更规范的一种笔记形式吗?况且, Wiki 因其自身特性,本来就是最高效知识整理工具,大牛们用 Wiki 来积累知识与技能的例子数不胜数:例如闲耘™. Wiki ,第一次看到时真的把我震撼到了。



怎样阅读源代码,怎样提高阅读源代码的效率~

为什么你读书和没读一样?快来试试这个方法吧~

可以尝试做思维导图,软件xmind我自己很喜欢用,如果嫌麻烦也可以用张白纸自己画(但感觉检索起来很麻烦),通常在网上看到的文章、书什么的我都会首先粘贴上网址,方便后期需要翻出来重新查证什么的,做笔记的时候主要抓关键词和这些词之间的逻辑联系吧,关键词我通常也会标记章节段落的位置,同样也是复查备用,做完一小节可以自己尝试只看笔记重现书中的大概内容,能理解个大概就差不多了,总觉得不能指望一个笔记就能做到事无巨细,毕竟书也不是只读一遍就能通透的嘛,纯属自己的经验,如果能帮助到你就很开心啦

怎样学习源代码
答:再把流程和流程各节点串起来理解整个程序,可能的话最好写出读书笔记。4.如果想深刻的学习到源代码的精髓所在,请写一个相近的程序进行操练。当你理解了这个程序并不表明你掌握了这个程序,只有在你操练一个相近的程序时,你才知道你到底理解了多少,掌握了多少。其实源代码的学习这是一个从整体到不断...

零基础怎么学写代码
答:栈、链表,然后学基本的数据结构。C语言也好,python也好,得学会把自己的思考用程序实现。举个例子,想制定计划表,安排自己的时间,那这个问题就可以写个程序来实现;想做笔记、管理自己的文件,这也是一个程序。从简单的、直接的几行十几行程序开始,比如计算器;到复杂的小工具,比如大数计算器。

java该怎么自学?
答:经常做笔记,用记事本把一些经典问题保存下来,以备复习。如果是零基础的话,就看视频,b站上高旗老师讲得不错,每看到视频出现一段代码就马上在电脑上给他跑出来,不要直接拿源码光盘来复制,不要把视频看完半段了才开始敲代码。这样几天后你会找到一些感觉,然后没事就想些代码来写写,比如想下怎样把名字转换成乱码...

在学习web想知道如何看懂网页源代码,有什么好的方法吗,或者有网页源代...
答:可能会碰到一些网页鼠标右键无反应或提出提示框,那是因为做网页的加入了JS代码来禁止用户查看源文件代码或复制网页内容,但是这种方法也没用,只有你稍微懂得以下第二种方法即可查看此网页的源代码源文件。第二种:通过浏览器状态栏或工具栏中的点击 “查看”然后就用一项“查看源代码”,点击查看源代码...

零基础的人应该怎么自学java
答:Android是一种基于Linux的自由及开放源代码的操作系统,其源代码是Java。所以市场上见到的手机系统例如MIUI ,阿里云,乐蛙等,都是修改源代码再发行的。Java做安卓不单单是指系统,还有APP对于更多的开发人员来说,他们更多的时间是花在开发APP上面。3、学习Java可以做游戏 或者你不知道,在以前诺基亚还很...

怎么构建自己的笔记系统?
答:您好,作为一个文科生,我来说一下自己是怎么记笔记的吧。第一,千万不能什么都记。在大学里,上课的时间很宝贵,如果你用一节课的时间去记笔记,就会忽视老师上课讲的内容,我一般都是先把大标题写上,然后在大标题下记录老师讲课的重点,下课之后再进行整理,根据老师发的PPT进行适当的补充。第二,...

新手怎么学代码编程?
答:熟悉以下关键东西,可以边学边做,定期训练,经常思考,长期积累:1、语法。2、基础理论(数学、数据结构、算法等)。3、设计方法(编程原则、设计模式、框架设计等)。4、库(核心、基础、UI、扩展、游戏引擎等)。5、计算机相关(操作系统、网络、图形学等)。6、领域知识(游戏设计、网站设计等)。7...

初学者怎样看懂代码?
答:初学者要看懂代码首先从要需求分析了解,然后是系统分析,最后是块的理解。看懂代码其实不难,大抵不过是选择,分支,循环。语法如果看不懂,那就需要补补基础,先弄清楚这段代码要做什么,有说明最好,可以帮助理解,没有说明就试着过一下代码流程。

很多人都不会正确的做笔记,你认为做笔记要着重记录哪几方面?
答:把所有的形容词,感性的语句,及例子排除掉,训练自己用最简练的词,句归纳核心要点。不是特别冷僻的知识领域,也可以充分利用互联网,找到同行大卡的分享和资料,作为学习参考。我是个读书喜欢做笔记的人,但是,我声明一点,我不是啥优秀的人,我就借题发挥,谈点感受,如果你不能认真的做笔记,时间...

零基础如何写代码?如何快速学习?
答:零基础的人想要写代码首先需要进行一定的学习,了解一些基础的编程知识,选择适合自己的程序语言,之后通过不断的学习就可以写代码了。如果想做一个程序员,在没有基础的情况下,买书自学是一个办法,但是大多数人会因为没有相关的基础知识,导致看书看得一知半解,因为有不同的语言,不同的开发环境,...