不正确学习sdk所带来的巨大危害

   想想这一年,出现了两个巨大的错误,第一个是在暑假的时候,当时想要了解直播视频的原理,于是跟着视频去敲了下相关的代码。 但是当时并没有安卓的基础,由于自己很多知识是自学的缘故,所以想着干脆就直接去看sdk的代码吧。 一边看一边跟着敲。 这简直就是一个巨大错误的开始!  把一切都想的太简单了。  记得当时敲的是腾讯的随心播sdk的源码。

    这带来的结果是连续好几天心情极度压抑,自己的学习积极性受到严重的挫败。 但是由于自己事先已经计划好了,又不得不迫使自己投入到实践学习中去。  就像老太婆的裹脚布又臭又长!!  最后死磕的结果就是,自己啥玩意儿没学到,对写代码的厌倦感直线上升。  由此而引发的还有消极懈怠,积极性颓废,轻度抑郁等非常危险,可怕的消极情绪。

    最终不得不以放弃该计划而告终!!

    第二次是前天。  因为当时计划是将即时通讯的内容学习学习。  此时的我已经入门Android有了好几个月。 由于有java的知识做支撑,所以内心多少还是有些底气。   在实践的过程中,我先是选择了先看官方文档,然后理解总结,然后实践。  确实取得了成绩。 至少,是可以说正确的集成了的。 通过在IM后台也确实能够达到通信的目的。

    但是我的目标是完成端到端的连接通信。所以光实现功能是不够的。 还得有一些相对看得过去的ui。  这个时候,另一个愚蠢的决定又开始了!!  我又打起了SDK的注意。。  这次盯上的是极光的IMSDK:jchat。  我的目标本来是比较明确的,就是引用它的聊天界面的ui,而逻辑这块我自己搞定。。

    万万没想到,我方法论还是出了一些问题 。  由这个页面所引发的附带的页面以及相关的类和接口,成了一个黑洞,不断的吸入它所附带的内容。 这使得我要理解的代码量,以及复杂度瞬间上升了好几个档次。  更别说这些SDK中还有杰出的架构师在中间挥斥方遒了。  

    具体的问题有这样的一些:

          1. 为了程序达到更多的耦合性,将程序中出现的很多的业务逻辑进行了分层。 如使用了一些Controller,handler处理业务逻辑;将很多的常量以资源的方式引入; 将很多的内部变量进行抽象,定义为全局的静态变量;

          2.为了达到定制化的效果,采用了适配器的模式。 通常式自定义视图,并与之配套相关的适配器。 这块代码即庞大,又夹杂着很多的业务逻辑。 同时还包含这其它的一些视图组件。 总之,对外部人员看来,它的耦合性还是太高!

          3. 为了达到内聚的效果,使用了继承的方式,使得整个代码的很有层次,但是无形中加大了理解的难度。 因为很多的业务逻辑有可能分散在父类与子类之间。  对于不熟悉这个项目的架构的人来说,理解起来是难上加难了。

          4. 由于个人的原因,对每个代码块的逻辑不清晰,但是又不舍得丢弃代码。 觉得既然是官方写的,那么就一定是值得学习借鉴的,包括借鉴代码风格,架构方式,以及算法使用的内容。  总之就是不舍得动刀子。

    最后的结果也没好到哪去。 逼着自己去完成了大概有10多个类,若干的资源文件的拷贝,引用,纠正之后,我是害怕了。 结果昨天一天上课没精神,加上阴沉沉的天气,自己的内心有一种厌学的,莫名的,很压抑的怒火。  但是当时竟不知道来源于哪里。陷入了一种积极性颓废状态。

     它是这样一种状态,想要学习点什么,但是不知道学习什么。 想要好好的玩一下,但是内心觉得自己又该学习。 想要看看视频,但是觉得没有什么视频能够入了我的法眼。甚至就连睡觉,都觉得没什么意思。  我以为这是抑郁,但是实际上我现在更多的觉得,这是迷失, losing myself。而这一切,其根本是自己的目标高于了自己的实际能力,也就是俗话说的眼高手低,好高骛远。(好高骛远在此时可以当作一个褒义词,因为不好高骛远的话,便没了梦想)。 

      所以,论正确的使用SDK是有多么的重要! 

猜你喜欢

转载自blog.csdn.net/qq_36285943/article/details/84097920