不知不觉已经二月中旬了,我的第一份实习工作已经六个月了,这段时间收获很多。
一:工作心得
1.科学上网
以前不懂事,Google上不去,用百度,整天从百度知道、百度文库、百度百科、百度广告中找各种资料。现在查找资料用谷歌、starkoverflow、github,感觉找到资料的比百度精准很多。
2.时间安排
以前每天都早早的到公司,一到公司就干活,下班了还在想bug、业务。现在早上还是比其他人早,到了就看看博客,趁早上记忆好多学点技术。使蛮力埋头加班苦干,当一个搬砖老黄牛的是肯定没有前途的。曾经有前辈说过,宁可让你的项目延期被老板骂,也要把时间挤出来努力学习基础知识,多掌握一些技术(很多技术在思路上是相通的),然后才能有机会改变自己目前的状况。因为,比起你的个人未来,项目延期被老板骂、绩效不好拿不到奖金,都不是什么事儿。
3.学好英语
前辈告诉我不要吸收二手资料,比如能看英文就不要看翻译版了。确实,阅读一手资料可以学的更全,入门更快。然而一手的技术资料大多数都是英文的,对于像我这样的英语很差的童鞋来说,阅读英文文档简直就是噩梦。记得刚开始学Meteor的时候,我习惯性的打开百度,搜索Meteor教程,然后看各种教程帖子。同事告诉我学习最好去看官网的tutorial,英语不好不要紧,要强迫自己看英文。在硬着头皮看完官网的tutorial之后,发现很快入门了,确实比阅读二手资料高效很多。因此,强迫自己看英文吧骚年。
4.项目管理工具
以前在学校写代码,常常把项目打包成zip备份。如果代码改烂了,还能把预先备份好的项目解压出来。工作后用了git,瞬间感觉打包备份low爆了。玩过单机游戏的童鞋都知道sl大法(存档和读档),用git的分支管理就和这个差不多。除此之外,git还有好多好处,项目提交到远程仓库,合并分支,等等。
二:Android心得
1.布局方面
使用ButterKnife,能让代码看起来更加简洁,省去了很多findViewById的麻烦;
layout不要嵌套太深,不然容易产生overdraw问题。(严重的会掉帧,卡顿);
2.图片方面
使用Picasso。记得大学实践课的时候写了一个论坛app,当时处理图片的时候,花了我两天时间,照着网上的博客自己实现了图片的三级缓存,当时还沾沾自喜感觉自己的项目瞬间高大上了。工作有用了Picasso才发现,人家早就给你写好了,拿过来直接用就行了。我花两天搞定的东西,人家几秒钟就搞定了(哭脸)。因此不要闭门造车,多关注最新技术,提高眼界。
3.网络方面
使用Retrofit2 + OkHttp3 + RxJava;
retrofit请求时间比AsyncTask、Volley都要快。(有人测过,应该不会假);
retrofit写起来真的好优雅,包括回调选择跑在主线程上还是跑在新建子线程,都能通过observeOn写的非常的简洁;
4.工具类方面:
实习期间做了两个app,发现工具类基本都是通用的,可以去网上找,很实用。常见的有:
LogUtil、FileUtil、HttpUtil、GsonUtil、DimensionConvert等等。
5.架构方面
刚进公司的时候,感觉MVP完全是过度设计,明明可以写的很简单的东西,非要写一个presenter,写一个回调接口。现在用的熟练了,感觉MVP真的太美妙了。
代码解耦了,一个项目可以更加容易分工给不同的人做;
写测试用例会容易很多;
代码更清晰,别人更容易读懂你的代码;
6.本地存储
用Realm。
存取比SQLite和CoreData更快;
面向对象存储,不用弄一堆sql语句;
跨平台,可以同时在IOS和Android上都能使用;
文档简单,还有中文文档(感动)。
有可视化工具,可惜只有Mac能用(wtf!)












网友评论