落地——读《App研发录》

作者: geniusmart | 来源:发表于2015-11-28 17:34 被阅读13147次
    程序猿的精神食粮

    阅读此书痛快且过瘾,随着心态的越发浮躁,很难专注不开小差的阅读一本技术书籍,这本书是例外。

    在工作中,除了编码,我最喜欢的事情就是思考如何行之有效的提高团队开发效率,由于自己阅历尚浅,很多想法都是纸上谈兵。每个人所处工作环境,项目的级别分量、研发文化都迥然不同,当你的研发生涯的某个阶段里,项目比较普通,管理比较混乱时,都不要放弃对规范的研发流程的思考和探索,阅读这本书,我似乎得到了一直以来理想中的无线团队开发和管理模式。

    真正让我获益匪浅的是,作者总在寻求技术和管理的落地。无论多牛逼的技术,或者多高端多学术的管理思想,如果无法落地付诸实践,都是扯蛋。

    以下,是自己的在阅读过程中一些体验和笔记:

    (一)App框架设计与重构

    App框架设计与重构

    这部分内容讲述的是大部分app开发都会涉及到的基础技术问题和业务场景,如自动登录、网络请求数据缓存、登录过期处理、时间校准等,这些功能是大部分公司的技术团队需要重复造轮子的,阅读这部分内容,言简意赅,思维流畅,能更深入的了解框架设计所要解决的业务问题。

    另外,关于规划Android的项目结构以及编码规范,书中并无特别的地方,也可参考以下Github上的此文章《Android 开发最佳实践》

    (二)Crash收集、统计与分析

    这部分内容,作者花了6个月的时间,介绍了一百多个崩溃,对作者严谨的态度表示敬佩。在此之前,作者介绍了如何在项目开发中,将Crash分门别类的收集到本地数据库,如何对大量的Crash去重,并将Crash自动分发到相应的开发人员处理,提供了Crash从产生到解决的一整套方案。

    对于一个长期运营的App来说,如果有这样一份长期积累沉淀的Crash库以及解决方案,可以提高解决crash的效率,从而提高产品的稳定性。因此,对于一个团队来说,有必要将此项工作列入计划之中。

    (三)敏捷开发

    对于多数互联网产品开发团队,在每周的开发工作里,既要维护旧版本bug,又要开发新功能,于此同时,在技术方面还有些重构的想法,在这种情况下,如果你是一名称职的管理者,请把握好开发节奏,控制好时间点,减少无谓的加班,尽可能的多快好省,让团队处于一种身心比较健康的开发状态。

    书中对于四周、两周和一周为单位的迭代周期里,如何把握工作节奏,有效控制时间点,做了详尽的描述,如下图:

    为期四周的敏捷开发

    在这一个月中,前两周为开发周期,在此期间可能会碰到的种种问题,以及如何解决:

    1.上一版本发现重大bug,需要紧急处理——部分低优先级的需求delay到下一迭代。

    2.上一版本陆续发现bug,不严重,但需在本次迭代内修复——根据bug情况决定要修复的版本。

    3.产品经理经常插入一些紧急的需求——如果测试团队无法消化这些需求,则开发团队在新分支开发,下次迭代合并并测试。如果开发团队无法消化,则同1的情况。

    4.一些需求临时决定本次迭代不做——这些额外时间灵活分配,或是做重构工作,或是解决之前拖欠的Task。

    在第三周迭代工作的尾声,开发团队可发布“小流量包”,这里解释下小流量包的概念:

    关于小流量包:

    1.版本号=当前线上的版本号,即老用户无法升级。

    2.在主渠道上(如网站首页上)提前一周上架小流量包,即新用户才可下载。

    3.为小流量包重新申请一个渠道号,方便统计该包的相关数据。

    4.意义:可尽快获得用户反馈;可减少部分用户更新App的频次;可减少紧急发版本带来的繁重的发布任务。

    当迭代周期压缩至两周时,工作节奏将更加紧凑:

    为期两周的敏捷开发

    (四)技术分享和Code-Review

    这部分内容作者的篇幅较少,但笔者对这两块十分感兴趣。

    先来谈谈技术分享,大多数leader对技术分享很感兴趣,出发点有二,其一,觉得技术分享可提高团队的技术实力,其二,每次技术分享过程中,必不可少的拍照发微信发微博,因为公司的绩效考核栏目里往往有团队技术分享次数的考核。

    然而,往往第二点占据了主导,导致技术分享的变质。来看下此文作者的做法:

    如何做技术分享

    接下来谈谈Code-Review。

    关于Code-Review,它的好处不必多说,然而实践起来却困难重重,颇有点“此曲只应天上有,人间哪得几回闻”的感觉。对于这部分内容,若想深入探讨,可阅读下左耳朵耗子的《从Code Review 谈如何做技术》。作者在团队中对于Code-Review的实践如下:

    Code-Review的实践

    除此之外,文中还介绍了代码混淆的方案,如何进行App竞品分析等,这些部分的内容也写得很精彩。

    “落地”,是阅读此书的最大感受,大到技术架构、竞品分析、发布流程,小到每个Crash、员工座位安排、开展技术分享、简历筛选,作者总在寻求落地的解决方案,细细阅读,你不觉得这种方案有多么高大上,不觉得背后有多么华丽的理论支撑,但是你会觉得,一切都是踏踏实实、真真切切可落地实践的,为工作带来不少的实践指导。

    建议移动开发从业者都阅读一下本书,如果你是一名程序员,有必要了解下你的leader背后要考虑的大局,以及做出某些决策的原因,这能帮助你更好的为团队分忧,承担更多的责任,获得更多的晋升空间。如果你是一名技术管理者,反思一下你的决策是否能落地,是否只是空谈,或者你的决策与你想达到的目标其实是两码事,从而避免做无用的管理,避免团队毫无意义的精力涣散。

    相关文章

      网友评论

      • JackChen1024:请问思维导图是用什么工具画的?xmind,还是manager
        geniusmart:@JackChan1999 proccesson
      • slu128:楼主“落地”稳,最近也在看这本书~
      • 北爱歌:务实
      • 北爱歌:请问思维导图是用什么工具画的?
      • f0c9cebb7743:很喜欢博主的文章,差点忘记写后三个字 :smile:
        geniusmart: @ewrfedf 哈哈哈哈,谢谢支持
      • f0c9cebb7743:落地感,之前读的时候没有感觉到,博主这么一说确实感觉扑面而来,作者经验也很丰富,把多年的积累落地实践,也是很自然的。很多团队也需要积累沉淀,时机成熟,一蹴而就。
      • 大姨夫斯基:这本书买了 但是很不喜欢
        大姨夫斯基:@keepfit 对的
        8aacecf9adec:@大姨夫斯基 同感啊,看大家都说不错,买来看看,确实如楼上说的很多技术有些过时了
        geniusmart:@大姨夫斯基 萝卜青菜各有所爱,很正常。但既然看了,总有值得吸收的地方吧
      • emo_dev:早一些有这样的 发现这样的书,我也不至于这样
      • J_Coder:App研发录是本不错的书
      • f8575760b5e3:文章写得不错! :smiley:
      • 湫水长天:最近也在看这本书,不得不说写得很好,不过谈论的有些技术已经跟不上时代了
        geniusmart:@軍哥稀飯兒 说不来,自己体会吧,不过无伤大雅。代码量不多,但是个人觉得技术类的书籍,kindle就算了吧。
        cfanr:@geniusmart “有些技术跟不上时代”,这个具体怎样说?还有,想了解下里面的代码量多不多,正考虑是买Kindle版呢,还是实体书
        geniusmart: @小心大熊猫 同感,不过无伤大雅
      • 曾樑:单纯码代码和懂得做的事情背后意义的是两个级别了

      本文标题:落地——读《App研发录》

      本文链接:https://www.haomeiwen.com/subject/tpochttx.html