我是如何从2万本金赚的1000万?只因“三线共振”振出大黑马,日赚7%并不难

(本文由公众号越声投研(yslcwh)整理,仅供参考,不构成操作建议。如自行操作,注意仓位控制和风险自负。)

炒股十几年,想明白了很多,其实,我们炒股为什么赔钱,是因为水平不好?还是运气不好?还是对手太险恶?

都不是的,是我们害怕踏空,在自己没有完全准备好买入,在自己没有认真思考买入,在自己没有深度分析挖掘之后买入,我们甚至连简单排雷工作都没有的情况下买入…反正就是害怕踏空,害怕错失机会,害怕与牛市牛股擦肩而过,因为害怕,我们恨不得天天抱着股票睡觉,哪怕临近收盘了也随意找一个感觉很一般的股票买入,然后YY,发白日梦。我们要做的是减少你的交易频率,在自己最佳状态,心情愉悦,总之你觉得很有感觉的时候大胆且重仓介入,简单重复“等待-买入-持股-卖出-等待”,周而复始。做减法,优化你的交易。从菜鸟到入门,想得到质的提升,必须学会做减法,降低你的交易频率提高你的胜率。

一点不夸张的说,菜鸟第一步应该先练空仓,看看自己能不能在计划的时间内一直保持空仓,不为花花股市诱惑,做到按兵不动,不怕踏空,就怕做错,放心,你不会错过好几亿的,也不会错过一步登天的机会的。心态我觉得是大多数人的问题,这也是人性,股市的魅力所在,让你欲罢不能,通过赔钱,通过心痛,通过绝望,慢慢可以做到吧。另外,还要通过成功,只有成功过了,才会有信心,同样的事情遇到第二次的时候,只有知道自己肯定赚,吃定它了,才有重仓出击的信心和等待的耐心。真牛逼,一个星期做一个,一个月做一个,甚至一年做一个足矣。只要稳定,复利就是宇宙的奇迹之一。

还有的朋友,其实手上拿着就是大牛股,一天不涨甚至分时不涨就失去耐心,老看着别人好,在不挣钱甚至赔钱的情况下去换股,结果还是不尽人意,每天如此,天天丢西瓜捡芝麻。错过一个湖,还有一座山,错过一座山还有无尽天际的天空,只要交易所还在,就不存在踏空,只要行情还在,就不存在踏空。一个一个板块做完,一个股票一个股票做完,且一山难容二虎,几乎看不见两个龙头两个板块同时炒的情况,所以,我们不要老犯骑牛找牛的错误了。

最后就是明知道大环境将要狂风暴雨,但不愿意撤退,老是想挣最后一分钱,存在侥幸心理,老觉得大风大浪来临的时候只要反应够快完全可以全身而退。其实不然,真正大师级别的作手,只会在踩踏发生之前撤退,在狂欢之前进场。理由很简单,就是我挣够了,就算多等会狂风暴雨来临也无所谓;现在人气萎靡,我有足够的把握有足够的耐心吃定它了,所以买入。激流勇退,人去我存,道理谁都懂,做起来就难了。

一个合格的股民应该是怎么样的?

一、 认清股市,认清自己。

1、 股市是一个有规律的地方,但同时是一个新股民用钱买经验,老股民用经验换钱的地方,所以千万不要妄想着一步登天。

2、 想清楚自己的交易手法是什么样的,如果你盘感敏锐,能够经常看盘,可以做做短线,如果你性格沉稳,不喜欢大起大落,没那么多时间看盘,那就做中线。

3、 股市的牛短熊长,注定了大多数人在大多数时间是赚不到钱的,只能耐心等待每一波行情的到来,一般沪指的30线走向可以作为市场中期行情的判断指标。

二、 知道股市为什么上涨,学会分析大环境。

大多数人赚钱,赚到的比不是别人口袋里面的钱,而是整个大盘一起上涨时的钱。

一般来说,货币政策、财政政策宽松,利率降低时,股市会上涨。07年和15年两波牛市,某种程度上,都是社会上资金活跃,货币超发带来的。

判断股市走好,基本的经济学常识要有,比如利率、汇率、税收、货币政策、财政政策、政治环境、经济周期、通货膨胀、产业政策与股市的关系都需要熟悉。

三、 掌握基础的技术知识。

1、 会利用均线判断股价的趋势,知道股价所处的趋势是上升,下降,还是震荡,我们要做上升趋势的股票。

2、 会判断股价所处的技术形态,(M型,W型,三角形等)是处于底部形态,还是顶部形态,还是整理形态,我们要做从底部形态向上突破的形态,或者整理后向上突破的形态,借助趋势的力量,顺势而为。

3、 会画趋势线、压力线、支撑线,这是帮助我们确定股价涨跌空间,制订买入与卖出计划的重要依据。

4、 掌握基本的量价关系、均线理论、MACD指标,不要钻研所谓一买就赚的那些指标,那些都是骗人的,有一买就赚的指标,人家卖给你干啥?

5、 树立正确的买卖点意识。正确买点有两种,一种突破,一种低吸,两种买法的确定性,预期,成本都不一样,后期我们会讲。确立买卖点后,一定要坚决执行。

四、 了解大盘和板块、板块和个股之间的关系

1、 个股服从板块,板块服从大盘。大盘不好时,大多数板块,大多数个股都会跌,大盘走牛,大多数股票都会轮涨补涨,耐心持股就行了。

2、 判断大盘比判断板块容易,判断板块比判断个股容易。改变K线走势动用的资金越多,一个指数/板块/个股的走势就越不容易造假,技术分析就越有效,所以大盘突破比板块突破有效性高,板块突破比个股突破有效性高。

3、 龙头快于龙头板块,龙头板块快于大盘,这波大盘启动,就是从银行板块启动的。

五、能够建立自己的交易系统

1、 控仓系统:何时入场,入场多少资金?

2、 资金管理:每笔多少?

3、 选股系统:追涨战法?超跌反弹?上升回档?

4、 确定交易的计划与反馈环节。

三大精选战法

一、均线多头排列

形态简介:如果5日均线在10日均线上方,而10日均线在30日均线上方,这种均线排列的形态就被称作均线多头排列。

当均线形成多头排列时,说明短期市场上的交易价格高于中期交易价格,而中期的交易价格又超过长期交易价格。这种形态意味着股价在最近一段时间持续上涨,是当前市场处于上涨行情中并且有这种上涨行情还将继续的信号。

买点:多头排列完成时

当均线多头排列完成时,说明股价已经完全进入上涨趋势,而且这种上涨趋势还将继续,此时投资者可以积极买入股票。

二、一阳穿多线

当股价在低位持续横盘整理一段时间后,5日、10日、30日等多根均线往往会纠缠在一起,此时如果出现一根大阳线,一举穿越多根均线,就形成了一阳穿多线的形态。

一阳穿多线形态说明股价经过一段时间整理后,多方已经积攒了足够的动能,此时出现一根向上突破的大阳线,就说明多方强势集中爆发,这是未来股价会持续上涨的信号。

买点:阳线即将收盘时

当一阳穿多线形态中的长阳线即将收盘时,多方的强势已经可以确定,此时投资者可以积极买入股票建仓。

三、出水芙蓉选股战法

出水芙蓉K线形态,我们也成为一阳穿三线。但是这根大阳线上穿三条均线,使均线呈现多头排列形态,后势极端看涨。三条均线指5日10日20日,这是一个中期或波段式的上涨行情,缩量回调是买进时机。

出水芙蓉的出现,表明多头上攻势头极为强劲。当股价在下跌末期出现此K线形态,说明股价见底,后市将回升,其上攻力度的强弱取决于成交量的大小。当股价在上涨途中出现此K线形态,说明多头休整充分,重新展开强势攻击,股价将加速上扬。

ST罗顿,该股在2000年1月份,股价带量突破20日、62日和133日均价线的阻力,跃至中长期均价线系统的上方附近企稳。稍事整理后,即连续走出上扬行情。该股走势为典型的短、平、快走势。方法是死的,人是活的,上面的技巧肯定也是有其不完善之处的,毕竟股市是动态的存在,所以我们在实战运用过程中也要灵活运用!

一阳穿三线选股战法:

1、市场含义:

股价在均线之下,含义有多种情况。其中一种情况值得重点关注,这就是前期该股有明显的主力活动迹象,目前虽处于空头状态,但中期向上走势为改。目前的状态属于主力洗筹或顺势回调,且三线均处于非常接近,市场成本比较接近。日K线一阳穿三线,穿越了密集位,属于主力通吃行为,因而其短线爆发力是很强的。

2、形成机理:

股 价经过长期下跌以后,做空能量得到了有效释放,成交量的日益萎缩,表明场内浮动已经不多,随着时间的推移,成交量由小到大,表明有一股资金正在悄悄吸纳,而股价波幅的日益收窄,表明庄家的收集已经进入尾声。

如何在股市选好个股

方法一:一阳穿三,三线共振振出大黑马

当一只股票的60日均线、120日均线、250日均线三条长期均线趋于粘合状态时,突然出现一根放量的大阳线上穿60日、120.日、250日长期均线,这时投资者可以重头关注它的成交量的变化,如果一旦5日均线向上交叉10均线,并且成交量同步放大,散户果断买进,大黑马必出无疑。

如上图的实战案例:宝钛股价的K线运行图中,60日均线、120日均线、250日均线三条长期均线呈近乎粘合状,此时一根放量大阳线同时上穿60日、120日、250日均线,且5日均量线上穿10日均量线,随即一波强大的牛市行情展开。

方法二:根据击穿年线的“大阴棒”选黑马

在股价处于上升通道并突破年线两日后,某日突然以大阴棒击穿年线,当日收盘于年线下。成交量较前几个交易日有所萎缩,次日一根止跌阳线收于年线之上,见此应明确判断前大阴棒击穿年线实为洗盘行为,应不失时机果断跟进。

如上图的实战案例:北生药业,突然放量启动,且以后的几个交易日股价有效站稳年线以上。K线图上圆底形成。4月25日,大盘已快速回落成短期头部,然北生药业个股走势明显强于大盘,后市必有短线机会。果不出所料,4月24日,一根大阴棒从5日线之上直杀至10日线之下。短线操作机会即将来临。 但可操作的前提是次日是否放量高开。(次日,也就是4月25日,北生药业放量高开,即果断买入。)

一阳穿三线介入时机:

①在出现一阳穿三线图形的当天收盘前买入。

②在出现一阳穿三线图形后回档受30天均线支撑时买入。

阳线涨幅大于百分之三、成交量比昨天大.

操作要点:

1、5日、10日、30日三条均线之间的距离越小,在一个小的区域内密集或者是互缠状态,说明市场的成本价基本相似,那么市场的抛压就不会太大,后期出现拉升行情的概率也就越高,行情启动的时候。

2、出现大阳线或者是中阳线的时候,该阳线上穿5日、10日、30日三根均线,此时成交量放量,说明主力开始上攻行情。

3、当出现一阳穿三线的时候,在当天收盘前及时买进,要不计价位地半仓跟进,必须保证当天进场。如果错过了机会,在出现“一阳穿三线”图形后回档受30天均线支撑时买入。允许股价有小幅调整,但调整的范围应在阳线实体的范围内进行

4、“一阳穿三线”形态通常会出现在低点,出现后个股很容易有一波上涨行情出现,上涨幅度会比较大。

交易的时候若存在固化思维,或许一时能够侥幸正确,但从中长期来看,却会引发重亏的致命性错误。多读更要多悟,多悟更要多行,只有把读,悟,行连贯起来,读才有意义,悟才有价值,行才有效果。失败到极至,只要方向正确,坚持不懈,那么就意味着成功的即将到来,所以才会有失败乃成功之母的说法。忍一时风平浪静,退一步海阔天空。忍一时之亏,方能谋得全局;退一步之路,才能进得天下。

具备正确的理念、完善的交易系统和良好心态的必要性

1.具备正确理念的必要性

(1)市场和个股的运行有自身的规律,无论是哪种性质的行情,它都是按照下跌、做底、上升、整理、做头、再下跌的几个过程运行的。

首先,有的过程可以操作,有的过程不可以操作,如下跌过程就不能操作。

其次,不同的过程有不同的操作方法。

看不清在哪个过程,就不知道该不该做,所以不是哪一个过程都能做的。

(2)市场和个股在不同的环境下产生不同性质的行情。

从经济的角度讲,经济向好的时侯有大行情,经济向淡的时侯有小行情。

从技术的角度讲,上升趋势形成的行情大,无趋势或下降趋势形成的行情小。

行情的大小不同,应用的方法就不同,不具备操作某种性质行情的方法就不能做,所以不是哪一个性质的行情都能做的。

(3)个人的选股标准不同,买入/卖出的时机就不同,例如,用基本面选股时,在低估时买入,在高估时卖出;用技术面选股时,在技术面走好时买入,走坏时卖出,所以也不是什么时候都能买卖。

(4)由于投资者的时间、资金性质、心态和掌握的方法不同,不是哪个过程、哪种行情、哪个人都可以做的。

综上所述:市场和个股有时有大多头行情,有时有中级行情,有时有次级行情,有时有技术性行情,市场和个股在一个循环中有不同的过程。由于个人的时间、资金性质、心态和掌握的方法不同,在市场中不是什么时间都可以做的,也不是什么行情都适合自己操作的。投资者要有自知之明,应根据自己的情况找到适合自己的机会操作。

2.具备完善交易系统的必要性

(1)交易系统是判断行情性质的工具,没有交易系统,根本无法判断产生行情的性质,根本就不知道是哪种机会,这种机会是否适合自己,那就根本谈不上该不该做。

(2)交易系统是针对不同的行情性质制定不同的方法,如果没有交易系统,就没有操作方法,即使机会来到,也不知道该怎样做。

(3)交易系统是研判股价运行在哪个过程、哪个阶段的工具,没有交易系统,行情处于哪个过程或哪个阶段也不会判断,而不同的过程、不同的阶段,下单的方法是不同的,没有交易系统,就根本不知道下单点位是否合理。

如果自己对是什么机会不会判断、哪种机会怎样做、哪种机会在哪个位置下单,以及怎样下单都不清楚,怎能做好股票呢?

(4)同样的市场环境下,股票有不同的运行规律。

有的股票呈波浪上涨、有的股票呈直线上涨、有的股票震荡上涨、有的股票箱体运行。不同运行规律的股票,其操作的方法也是不同的。

交易系统可针对不同运行规律的个股建立不同的操作方法,没有交易系统,对不同运行规律的股票就不会用不同的方法进行操作。

(5)完善的交易系统是连接理念和心态的桥梁,没有完善的交易系统,理念不可能实现,也不可能保持良好的心态。

(6)交易系统能够明确告诉我们操作失误后的风险控制点位和方法,是我们控制风险的工具。

所以,必须有完善的交易系统,这样才可针对不同性质的行情和不同运行规律的股票、股票不同的运行过程和阶段,找到买卖点位以及持股的标准,并可有效地控制风险。

你相信每个人随便都可以成功立业吗?很容易回答为:当然不会相信。但炒股票的人就想不努力学习而赚大钱!

3.具备良好心态的必要性

(1)良好的心态是保证理念和交易系统有效执行的前提,没有良好的心态,结果是明知故犯。

(2)如果没有良好的心态,就不能克服外界的干扰,就失去了自我。一旦临盘,就会把理念和交易系统统统忘掉。

(3)良好的心态可以保证获利的必要性和亏损的偶然性,使每次操作有根有据成为理性行为。

(4)良好的心态是保证利润不再失去的必要条件,每次后悔都是因为没有严格执行自己的理念和交易系统。

总之,正确的理念是实战操作的总体方向,完善的交易系统是实战操作的依据,良好的心态是保证理念和交易系统有效执行的根本。只有在正确理念的指导下,严格执行自己的交易系统,才能够在市场中生存。

记住:临盘操作最伟大的是自己的理念和交易系统。

文章中若有不清晰的地方或者是您对股市投资经验及选股技巧感兴趣,想与更多的股民交流的话,不妨关注我们的公众号:越声投研(yslcwh),获取第一时间的投资情报和更多的选股技巧!

声明:本内容由公众号越声投研(yslcwh)提供,不代表投资快报认可其投资观点。

电脑键盘上F1到F12,到底有什么功能呢?今天总算长见识了

经常用电脑的朋友,有没有过这样的疑问:电脑键盘最上方一排的F1到F12键,到底是干嘛用的呢?今天就来为大家揭秘一下这些功能键的妙用。

F1:获取帮助

我们在使用电脑遇到问题时,只需要按下F1就能获取帮助,比如在Word文档里,按下F1就可以调出帮助信息,帮我们解决使用过程中遇到的难题,如果在桌面上,按Win+F1就行了。

F2:快速重命名

如果你想要对某个文档、图片、视频命名,点击目标,然后按下F2就可以快速重命名了,无需右键菜单,工作效率大大提高!

F3:快速搜索

这个按键主要针对电脑的磁盘、资源管理器、文件夹以及电脑自带程序生效,只需按下F3,就能快速调用搜索功能。

F4:重复上一个操作

这个功能键我常常用于Office办公软件,使用快捷键F4,可以重复上一个操作,能帮我们省下不少事呢。

F5:刷新网页

这个功能没有人不知道吧?不管是桌面刷新,还是浏览器网页刷新,都可以用F5键进行刷新、加载。

F6:打开快捷搜索

在指定的浏览器里面,按下快捷键F6,可以打开网页/文件的快捷搜索,非常便利。(我用的是360浏览器,可以生效)

F7:调用命令

这个功能普通的用户一般用不上,它是用来调用\”命令指示符\”的,只有程序员才用得上,而且这个按键在桌面按是没反应的。

F8:降低音量

按下快捷键F8,可以在Windows media player,快速降低音量的。

F9:调高音量

使用快捷键F9,则是调高音量的,它一般都是与F8键配合使用的。

F10:调用右键菜单

这个快捷键单独按下,就会调出Windows或者程序里的菜单,如果同时按下Shift+F10就能调出桌面的快捷菜单,与鼠标右击的效果是一样的。

F11:全屏显示

我们在浏览器浏览网页时,如果你觉得页面太小,可以按下F11进行全屏显示,再次按下F11,窗口就会恢复原样了。

F12:查看源代码或另存为

在浏览器网页中,按下F12可以查看源代码,程序员经常会用到。但是在Word、Excel、PPT里面,按下F12可以快速将文件另保存为。

我常用的【迅捷屏幕录像工具】,也可以通过功能键组合,控制开始、暂停、结束录屏操作,还能调出画笔工具,录屏的同时截屏。

电脑键盘上F1到F12,到底有什么功能呢?今天总算长见识了,建议收藏起来慢慢看哦。

阅读源码很重要,分享一个小白都能学会的读源码的方法

作为一个程序员,经常需要读一些开源项目的源码。同时呢,读源码对我们也有很多好处:

1.提升自己

阅读优秀的代码,第一可以提升我们自身的编码水平,第二可以开拓我们写代码的思路,第三还可能让我们拿到大厂 offer。无论那种情况,优秀的代码就是提升我们开发水平的资粮,而把这些优秀的代码读懂、读透并不很容易。

2.修复 Bug

有些时候,我们用的一些开源组件,出现了一些预想不到的问题。而这时候,也没有前人经验可借鉴,也没有文档可供参考,只能靠自己修复。阅读代码,理解项目,才能顺利修复问题。如果阅读代码水平不够,修复 Bug 这事儿就成了个棘手的事儿,影响咱们的工作。

3.增加新功能

在工作中,我们会遇到翻遍开源库也没有特别合适的组件的情况。这就只能对现有的组件进行改造,而这种改造的前置条件就是去理解开源组件。这时候,我们只能去阅读代码。

读源码好处很多,但是,读源码本身不是件简单的事。

相反,这是件非常困难的事情。一般来说,读代码比较困难的情况体现在:

  • 代码读起来太枯燥,读了一会儿就犯困、犯糊涂;
  • 代码读了很长时间,结果发现不知道得到了什么,花了时间却什么也没学到,读了个寂寞;
  • 一个开源组件,读代码就花了好几天,就这也才弄懂了一两个文件里的代码,结果耽误了正常工作。

自我工作以来,长期和各种开源组件打交道,也被迫读了许多的代码。在经历了以上种种困难之后,花费了好几年的时间,我才算总结了一套自己的打法,才算能真正的去快速的读懂、读透许多开源组件。

恰好也有许多读者朋友问起我该如何读代码,所以,我决定把我总结的一些套路写出来,望能给大家一些帮助,能更快的提升自己。

那我们来看看我个人读代码的一些办法。

阅读代码之前,首先我们要用上帝视角去看源码,用上帝视角目的在于去了解这个组件的全貌。

全貌包括:

1. 开源项目的主要用途

我们要知道项目主要是用来干嘛的,因为这是项目的终极目标。

所有开源项目的源码本身都是为了这个终极目标才写出来的。

例如,对于 logback 而言,它的用途就是打日志。而它所有的代码无论多复杂,终极目标就是要让 logback 能健壮高效的打印出日志来。

2. 项目的架构

了解项目架构的价值在于,能了解系统的层次结构,就能理出项目的核心脉络。有了核心脉络,我们就能把有限的时间用在阅读最有价值的代码上。

如果项目的官方文档有架构图,那么就从官方的架构图去了解项目的整体架构。如果文档中没有架构图,就去搜一下有没有民间大神画出来,如果还没有,可以根据官方文档的描述,自己画出来架构图。

以 logback 为例,由于官方没有提供架构图,我根据文档大概画了一个架构图。

摸清楚了系统的核心脉络,我们还需要把项目运行起来。

运行项目有两个目的:

1. 知道这个项目运行前有哪些必须的前置条件

还是回到 logback 的例子上。

当我们能成功运行 logback 后,其必然存在了一个 logback.xml 文件,否则无法运行。

这个 logback.xml 文件其实对于我们看源码非常重要,它点出了 logback 需要的关键元素。

并且,如果读源码遇到了困惑,明白了这个配置文件,就能有效帮助我们跨过障碍。后面谈到如何具体的读源码时再细说。

上面是一个基本的 logback 配置,里面列出了 logback 运行需要的关键组件。

2. 读代码出现疑惑,可以通过调试去解开自己的困惑

我们读的开源项目往往都很复杂。最典型的有三种情况:

  • 方法变量不知其意
  • 逻辑跳转绕来绕去
  • 封装对象层次太深

而以上的情况,都只能通过代码调试才能解决。

全貌、核心脉络知道了,项目运行起来了,你心里说,这下我要读代码了吧?

错,你还差一步,那就是细化目标。

我前面说过,我们读源代码的目的有三类:

  • 提升自己
  • 修复 bug
  • 添加新功能

但是,这些目的过于模糊了。提升自己,那读哪些代码能提升自己?修复 bug,读哪些代码能修复 bug?添加新功能,读哪些代码能把新功能加上?

所以,得把这些有效的代码选出来。如何选呢?

当我们从事开发工作,听得最多的一件事就是把问题分解:把大问题分解成小问题,分而克之。

选择并阅读有效代码也是一样的。

对于过大的代码量,过多的功能,我们紧要的一件事儿就是把比较模糊的目标分解成能具体落地的精准的小目标。这些小目标对应到项目中,其实就是项目的一个一个的业务流程。

比如我们想给 logback 添加个新功能,能让公司的日志打印出统一的固定格式。看看我们如何做:

1. 纵向分解

纵向分解就是在我们已知的架构图上分解出来一条条纵向的业务流程。

由于我们想统一公司的日志格式,那肯定就需要在打印到文件前,把日志内容格式化好。所以,业务流程就应该选择从应用日志调用 logback 打印日志开始,一直到日志内容输出到目标文件结束的业务流程。

2. 横向扩展

横向扩展定下了我们如何组合业务流程,从而可以完整的达成咱们开始定下的大目标。

比如,这里就可以定下在看完 logback 打印日志的流程后,再去看看 logback 的日志是如何切换的。

好了,现在我们终于要开始看代码了。

但是看代码也是要讲究技巧的,并不是上来就瞎翻瞎看。

1. 请将我心照明月

首先,我们曾经细化了目标,抽出了一条完整的业务流程。有此之后,我们就可以把业务流程和代码逻辑给映射起来。

看看logback的情况:

2. 一入侯门深似海

业务关系映射完毕,我们就能开始读代码了。在读代码的时候,我们还需要掌握几个技巧:

技巧一:代码一定跳着看

有件事我们得明白,不是所有的代码都值得仔细看的。我们最优先的,就是看正向流程的,核心的代码,其余代码皆可以跳过。

可以跳过的代码大概有:

判断异常输入的代码——这类代码对咱们理解系统意义不大,等到以后想提升自己编码能力的时候,可以回头专门找一些优秀的代码集中学。

出错处理和异常状态处理的代码——和上面理由一样。

数据处理的代码——往往就是解析输入数据,包装输出数据,有些时候还用 DTO 或者 DAO 方式去传递数据。这些代码有些很复杂,也很长,读了之后,耗费精力、扰乱思维不说,往往对掌握项目原理毫无帮助,务必跳过。

底层交互的代码——老实讲,底层交互技术含量是很高的,需要很多的底层知识。一时半会儿也无法弥补,而且一旦读不懂了,对信心打击很大,建议跳过。

技巧二:调用关系需确定

在看代码的时候,有一些方式会严重我们读代码。

如果你一旦读代码发现你找不到后续流程了,就得考虑考虑,作者是不是用了非顺序调用方式去调用后续方法或者对象。

一般来说,开发人员常用以下几种方式做非顺序调用:

  • 通过中间件继续后续流程,比如 MQ
  • 通过异步方式继续后续流程,比如 Future 模式、Promises 模式
  • 通过回调方式继续后续流程
  • 通过代理委托方式继续后续流程,比如动态代理
  • 通过依赖注入方式继续后续流程,比如 Spring 的 autowired 注解

这些非顺序调用会严重影响我们阅读代码。而对于这几种情况,解决的办法大概有两种:

  • 直接猜——其实后续流程我们在做业务流程映射到实际的代码对象的时候已经大概知道了,如果是接口,我们看看实现类不多,就可以大概挨个看下,一般都能猜着是哪个。
  • 运行起来调试下——这种办法是很普遍的,对任何不确定的任何事情,其实都可以用这个方式。

技巧三:超难算法放最后

对于某些开源项目,它会采用很多经典的算法。很经典,当然也很难。

但是,对于理解整体项目来说,这些算法会严重阻碍我们的进程。我建议这些算法,可以先记下来位置。在后续集中就着算法资料,慢慢理解。

上面是 logback 日志文件分割的算法,在理解业务流程时,不建议马上去理解算法,可以放在后面自己另外定个目标理解。

以上就是我多年来一直沿用的代码阅读套路。如果你也在学习Java,在学习过程中有关于源码问题,学习路线问题,学习教程,学习方法等问题,都可以加个关注,来和我交流,我可以把你拉进我的十年Java学习裙,学习氛围好,对新手学习Java很有帮助,需要的朋友可以关注或者私信我,发送“编程”就可以了!

首先,阅读代码之前,我们应该对项目的全局做一个了解。我们可以从官方文档、民间博客之类的去加快了解全局的速度。最好能参考一些架构图、时序图,如果没有现成的图,最好能自己画出一些来。

然后,我们把项目运行起来,运行起来才能有助于我们后续的调试,才能有助于我们快速的理解那些难懂的代码段。

再后,把我们的目标细化成一条条业务流程。没有这些业务流程,我们一下子去读大片大片的代码,第一没有清晰的脉络,第二也没有可及的任务目标……结果就是一片混乱。

最后,才开始去真正的读代码。而读代码,我们应该有技巧的读,要知道如何跳过某些代码,要知道如何技巧的找到后续调用流程,还要知道如何把一些困难去集中攻克。

正是通过这种套路,我读代码不仅速度快,而且理解够深入。

另外,代码读的多了,还有一大好处:当我在设计项目架构的时候,写一套框架的时候,不自觉就会浮现出类似的项目或者代码块来。

总之,读代码令我获益颇多,这也是我职业生涯比较顺利的重要原因之一,也在此希望帮助到后来者。

如果你觉得这篇文章对你有帮助,请帮忙点个赞。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。