这一年

在这一家公司的入职日期是8月8日。所以我很早就定下要在这一天写下点什么。

这是毕业后的第一年。这一年肯定是有进步的。

看了很多书,技术上的《从小工到专家》、《android源码设计模式》、《code complete》等等。

这三本书是我觉得很不错的,《从小工到专家》、《android源码设计模式》是进阶必读的书,能提升开发者的视野。

而《Code Complete》这本书则是讲的开发中的规范,让开发者确立自己的代码风格,真的是不可多得的好书。885页,太多了,我也没看完,于是挑了比较想看的几章看。《Code Complete》第二版出版于2006年,过去了这么多年,我今天看也感觉很受启发。

确实称得上是软件构建之实践指南。

其中的一些章节:

第三章 三思而后行:前期准备

做一个页面的时候,应该先把需要用到的切图和背景shape、layout布局都准备好,确保开始码代码的时候不再关心其它事情。

第八章 防御式编程

情况是后端返回的数据和约定的模型很多不一致,导致空指针,当时在一篇博文上看到这个词,比较符合项目的场景,于是才买了这本书。

第三十二章 自说明代码

注释方面的知识,教导如何编写有用的注释。

第三十三章 个人性格

由于近年来前端程序员的增多,许多人感到每天都在学新知识,不然就会被淘汰,也有一些公众号就这些问题进行解答。而当我看到这章的时候,才发现原来以前的开发者早就对这样的情况做过解答。

MVPVM

那时MVP正大行其道,基本上讨论架构的时候都是讲的MVP。不过我却先更深入的接触到了DataBinding,并一直使用到了现在,也让我认识到一个道理:

前端的主要作用还是展示 data,然后辅以一些流畅的效果。

数据才是核心。数据绑定感觉才是更适合android开发的模式,而其它的任何操作都是为了得到页面需要展示的data。由于android的数据绑定没有像前端那么完善,所以现在采用的是MVP结合MVVM的方式。有人把它叫做MVPVM,和AAC有点像,看到的时候吃了一惊,原来和谷歌大神想法差不多,当然肯定比不了。

RxJava

这一年也是大量使用Rxjava的一年,从以前只会结合Retrofit来请求数据,到现在几乎ViewModel里的数据处理都用到了Rxajva,并熟练掌握了大多数的操作符,结合databinding感觉任何事情都有事半功倍的感觉。对Rxjava的使用心得是:

就两点:1.线程切换 2.数据变换

可以把整个过程分为两个部分:工厂(Observable)和消费者(Subscriber)。

对于工厂来说,它的作用是把原材料经过层层加工,使它成为消费者想要的物品。而消费者就是使用这件物品来做自己想做的事情。

public class ExampleUnitTest {
    @Test
    public void addition_isCorrect() throws Exception {
        String[] source = new String[]{
                "1", "2", " ", " ", "5", "6"
        };
        Observable.from(source)
                .filter(new Func1<String,Boolean>() {
                    @Override
                    public Boolean call(String s) {
                        return !s.isEmpty();
                    }
                }).subscribe(new Subscriber<String>() {
            @Override
            public void onCompleted() {
                
            }

            @Override
            public void onError(Throwable e) {

            }

            @Override
            public void onNext(String s) {
                System.out.print(s);
            }
        });
    }
}
//Console:12  56

对于上面的程序来说,原材料就是source数组,filter是工厂加工的过程,subscribe代表工厂将物品交给了消费者,onNext代表消费者使用物品做其它事情。

设计模式

以前的自己对于这块比较薄弱,虽说看过不少设计模式的例子,但使用起来还是常用的那几种。而在学习了六大原则和《android源码设计模式》之后,才真正的刻意想把设计模式运用到实际项目中,而收获是巨大的。而我对于它的看法是:

就如同算法一样,设计模式也是一种算法,是解决项目结构问题的算法。

Java设计模式有23种,其实大家都需要用到这些模式,不过很多人选择了视而不见、舍近求远,做了很多无用功,偏偏还沾沾自喜。

架构

以前上github会star很多不错的自定义View,觉得效果不错。可以拿来用。后来更喜欢那些结构清晰明了的项目,也学会更多的去github上fork一些项目,看看其他开发者的实现方式,他们的架构设计然后学习并使用下来,在这方面真的获益良多,有了一定的架构能力。一个最大的体会是:

一个项目最闪光的点绝不在于它使用了多少新的技术,而在于它的结构是否清晰,能不能化繁为简。

就如初见clean架构时的感觉一样。

而我对于一个好的架构的理解是:

能让不同水平的开发人员写出风格相近的代码。

效率

怎么提高效率?如何提高团队开发的效率,是我最近一直在思考的事情。

以前听过一句话:

不要做没有效率的事情。

深以为然!

为此,我尝试从各个方面提高团队的效率。

  1. 从项目结构上。觉得写着太繁琐了,所以翻看了google的ToDo和其它优秀的项目代码,尽力去重构当前的设计。觉的每次都要建同样的几个相似的文件,于是学着去创建模板代码。尽可能的去统一写法,做好规范。
  2. 脚本文件。在一次做适配的过程之中,看到了一个项目EasyScreen,使用Shell脚本来自动生成了模式化的dimen文件,顿时感觉非常方便,因为以前无知的时候尝试过去手写,工作量非常大。而使用脚本既规范也非常轻松,大大减轻了压力,也因此学习了一段时间Shell,争取能够最大程度自动化。
  3. Mock。由于一些关系,后台服务不太稳定,或者前端团队开发的比较靠前,接口还没出来,但是数据模型已经约定。这时候一个好的mock服务就很适合了。尝试了几个前端的js之后,选择了Easy-Mock平台,很不错,搭配Charles效率提升了很多。
  4. Gradle。看了gradle的一些书籍和文章,对提升gradle编译效率也有了一定见解。

下一年

我要达到自己期望的水平

  1. Kotlin(就等AS3.0),AOP切面编程能熟练运用,编写出高质量的代码,尽量写多的单元测试。
  2. 争取向全栈发展

终极目标

独立开发者

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容