zoukankan      html  css  js  c++  java
  • App架构师实践指南二之App开发工具

    App架构师实践指南二之App开发工具

    1、Android Studio


    2、编译调试
    ---条件断点。右键单击断点,在弹出的窗口中输入Condition条件。
    ---日志断点。右键单击断点,在弹出的窗口中取消勾选Suspeng复选框,然后勾选Logevaluated expression,并输入打印语句即可。
    ---变量赋值。动态改变变量值调试程序,无须重新运行程序。在该变量的代码处打个断点,然后在Variables窗口找到对应的变量,修改变量值再执行即可。
    ---计算求值。与变量赋值类似。
    ---变量观察。直接值断点处以弹框形式查看变量属性值,而不需要值variables变量区和watches观察区查看。
    ---异常断点。工具栏菜单Run——>选择View Breakpoints——>添加Exception Breakpoints异常断点。

    3、版本管理
    作为个人开发者,主要使用的是Github或者Bitbucket/Gitcafe,如果使用Github(免费版)必须开源,而Bitbucket/Gitcafe可以使你拥有一定量的私有项目。
    作为创业型团队,建议使用Github在公司服务器构建一个Git代码管理平台,或者付费使用Github等工具。
    作为大型团队,基本上都是基于Gitlab来搭建Git托管服务器等。如果项目太大,涉及的人太多,Git库超过了GB等级,此时就不太适合用一个Git库来管理来,可以结合Repo(一个管理Git库的工具)和Gerrit来管理。

    3.1、 Git分支管理
    可以参考learnGitBranching这个开源项目。核心把握下面几个基本原则
    ---控制好你的分支,区分Release分支(版本发布分支)、Master分支等,保护好你的Realease分支。
    ---控制分支数量,删除不必要的励志特征分支。
    ---每次版本体测前、灰度前、发布前记得打Tag。
    ---分支和主干不能分离,不能脱离组织独干,分支一定是要和主干合并的。如果某种当前特性分支持续时间比较长,那也要不定期地融合主干与分支。所谓分久必合,长期分离是不对的。
    ---慎待Rebase,深刻理解Gitbase后再使用。
    ---使用Issue,Markdown。
    ---关注Code Review,使用Gerrit相对来说比较惬意。
    ---冲突来,不要慌,沉住气,满满解决。解决冲突必备的装备主要有Kdiff和BeyondCompare。Android Studio内部集成了Git Merge工具。

    一般通用的分支管理策略如图3-5和图3-6所示,图3-5是A successful Git branching model一文中描述的Git-Flow流程,图3-6是作者对以前项目的一种分支管理模式的图形化整理,主要有5个核心分支干系,分别为master主干分支、版本主干分支bus/trunk,发布分支bus/trunk{$versionName}、特性主干分支featureX{$featureName}以及hotfix{$versionName} Bugfixed分支,其核心思想是Bug修复主要沿着master分支进行,修复后并进master分支;特性主干分支每次从master分支拉取代码,一个特性完成后合并进bus/trunk分支,最后以恶版本发布后,bus/trunk分支再合并进master主干分支(小技巧,bus_trunk命名换为bus/trunk方式,无论事在SourceTree还是Github界面上,都能够以文件夹的方式呈现)

    4、产品设计


    5、抓包工具
    使用抓包工具希望达到的目的
    ---SSL拦截。Mac Charles中,如果要在真实设备上拦截SSL连接,需要安装证书。
    ---弱网环境模拟。弱网模拟有多种用途,其中最主要的是测试App的兼容性。
    ---断点功能。用于篡改Request和Response数据。
    --网络流量检测。最常见的方式是使用TCPDump抓取设备上的网络流量信息,然后在PC上用Wireshark分析。

    6、ADB

    7、Chrome开发插件


     

  • 相关阅读:
    angular ng-bind-html异常Attempting to use an unsafe value in a safe context处理
    JS执行机制详解,定时器时间间隔的真正含义
    es6入门4--promise详解
    es6入门3--箭头函数与形参等属性的拓展
    JS判断滚动条到底部,页面是否有滚动条
    js forEach跳出循环
    es6入门2--对象解构赋值
    前端开发与日常好玩的的小工具,网站与插件分享
    详解 线程池
    详解 volatile关键字 与 CAS算法
  • 原文地址:https://www.cnblogs.com/timssd/p/10534596.html
Copyright © 2011-2022 走看看