你不得不看的我的实习总结 | 田腾飞的博客,为梦想而奋斗



你不得不看的我的实习总结 | 田腾飞的博客,为梦想而奋斗

接下在的更新下载模块的接入讨论又让我明白许多,谁依赖谁,谁要调用谁,又怎么去调用,这些东西都需要明白,既然要把模块分开就不能像以前把所有东西写在一个模块中的方法,刚开始我确实不知道怎么设计,最后我突然明白,那就是调用模块的接口,返回需要的值,每个模块肯定要有自己暴露的接口,这些接口就是模块与模块之间合作的桥梁。每次和晟哥讨论,他从来不给我说最终答案,每次都说你要这样,你该怎么做,为什么要这样做,我刚开始很难回答,最终经过引导和讨论还是找到了答案,这个过程确实能让你明白很多,为什么要这么做!

下载模块

确定好的方案接下来就开始写更新下载模块,写这个模块就是在晟哥写的资源管理SDK上加上一个patch的更新下载解压模块,既然要在原有的库中添加模块,那么就要看懂这个资源管理SDK做了什么,结构又是怎么样,看懂了库才能知道怎样往里面添加自己的东西。看了一天多,晟哥也介绍了一遍,感觉差不多了,就着手写。写的过程就是仿着写,经过两三天写的差不多,测试数据不行,然后就跑过去问晟哥,发现是我自己代码写的问题,人家解析的是数组,我返回的是字典,能解析才怪。后来我改成字典也不行,我就一层一层深入代码找解析代码,真心是一层一层又一层,终于找到了解析代码,才知道自己返回的数据没有加返回的状态码等其他数据,这一点其实在公司规定的接口文档中有说明。

写的过程中我对这个资源管理SDK理解越来越深,添加一些自己需要的功能也越来越顺手, 果然看三天不如写一天啊,期间我也问了一些白痴的问题,都是因为没有好好看懂代码,晟哥跟我说:"以后问问题,自己先把代码研究透了,哪里出的错,为什么出错,解决不了再去问他,不要有个问题就去问,浪费我们两个的工作时间"。所以现在我遇到了问题,再不轻易问别人,其实大部分都可以自己解决的,只是自己没有去研究,没有用心去找这个错。

模块整合

终于在努力下写好了patch部分的功能,中间有些问题跟晟哥讨论,发现我想到的办法都不是太好,可能还是经验少吧,敲的代码还不够。最终终于把使用模块和更新下载模块结合起来了,经过不断的调试,代码也在一步一步完善。

项目写的差不多,我把整个资源管理SDK分析了一下,画了一个类图,搞明白每一个类负责不同的功能,父类与子类的层级关系等,感觉这样也会对我将来代码的设计有一定的帮助。


Read full article from 你不得不看的我的实习总结 | 田腾飞的博客,为梦想而奋斗


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts