新来的小师妹问我:哥,有哪些是新手程序员不知道的小技巧
15.不要低估了一个好的版本控制系统的威力
记住一点就够了:git 是最好的,简单可依赖还免费
我自己也整理 GitHub 项目文档,需要的读者可以去我的**[GitHub](
)**
16.常学习
IT 行业日新月异,不要做过时的程序员,要养成阅读技术书籍的习惯,当然非技术的也可以看看,这份硬核书单可以看看:2020 最硬核书单。
除了看书,经常逛逛 Github,看看那些优秀的开源工程,时不时关注下自己用的技术栈新技术发展,这些都是学习的方法。
17.用好 Google,能力大增
超级程序员=「程序员」+「用好 google」。
18.编码的时候只思考同一个思维层次的逻辑
在这层完成之后再思考下一层,层层拆解方能完美解决问题,一旦越层可能把自己都搞晕了。
这也是形成好思维的基本方法论,另外思维本质上是相通的,你能锻炼出一个好的编码思维、架构思维,大概率你也能锻炼出好的管理思维、商业思维。
关于思维也推荐一本书:《麦肯锡教会我的七个思维习惯》。
19.要懂算法,要懂数据结构
编码时要学会使用合适的数据结构和算法,无论是解决实际问题还是优化效率,这点都非常重要。
20.交代码之前反复自测
这真是基本功,在很多公司一般都会通过 bug 提交数和严重性来判断是否严格自测,甚至能影响绩效。
21.如果经常 delay,可能是任务还没有拆得足够细
学会拆解-执行-复盘,并且学会掌控拆解颗粒度,对颗粒度的把握和拿捏很重要。
22.遇到代码问题解决后做个小笔记
好记性不如烂笔头,把历史经验沉淀下来,并建立高效索引方式,会让你越工作效率越高。
23.千万别直接拷贝网上的代码
当然,少不了需要借鉴其他人代码的时候,但一定记住:要先理解然后自己写出来。
24.尽量主动推进项目进度
这是你迅速脱颖而出的好方法。
25.主动改 Bug
不管是不是自己的 Bug,都要主动改,当然如果是别人的,改完后要尽可能让老板知道。
这一条还是防止职场甩锅的好办法,别问为什么知道!
26.多看官方文档
它们真代表权威和完美细节,看完很多问题自然就不存在了。
27.多学英语
无论是 Google 还是 stackoverflow,又或者各种官方文档,流利的英文阅读,和习惯性英文搜索,能帮你超越 90%的程序员。
28.积极防止颈椎病
这东西真的是程序员的职业病,千万小心了!编码 1 小时,必须站起来走几步,动动脖子,不然过不了多久你就需要一本书:《颈椎病康复指南》
我再分享一下我 6 年来具体的学习路线及笔记文档和希望能帮助到有心提升技术的朋友!
目前 Android APP 开发主流语言就是 Java 语言,Java 语言最大的特性就是提高了软件的交互可能性,可以说安卓手机几乎所有应用程序都是利用 Java 语言来进行编写的。
知识要点:
1、Java 序列化、泛型、反射
2、虚拟机底层原理
3、Android 内存原理
4、Java 高并发原理详解
5、编译时技术掌握与实战
6、JDK 高级动态代理
7、高级数据结构与算法
8、Java IO 操作
[](
)Android R Frame Work 源码与 UI
==================================================================================
在 Android 中,Framework 泛指系统架构层。Framework 的中文意思是“框架”,在软件开发中通常指开发框架,在一个系统中处于内核层之上,为顶层应用提供接口,被设计用来帮助开发者快速开发顶层应用,而不必关心系统内核运行机制,通常 Framework 都会隐藏 main 函数等应用程序必须的组件,开发人员只需把精力放在功能代码的实现上。说简单点,Framework 具体的工作也就是为 android 应用开发的开发人员提供了一系列的服务和 API 的接口。
UI 其实并不是单纯指用户看到的效果。因为在 Android 开发中,每个控件背后都有一套深层次的体系在支撑,自然而然,会 UI 不单纯指的是会自定义控件,我们还应该知道自定义控件背后的执行流程,包括从 Activity 的创建,XML 的解析,到每个控件的测量、布局、绘制。当然在中间还夹杂着比如动画、事件分发机制、嵌套滑动机制等知识点。还有谷歌提供的一些 UI 框架也使我们要掌握的对象,比如 Jetpack 组件库、Material Design 等。
知识要点:
1、FrameWork 源码解析
2、Android 常用组件深入解析
3、UI 的深度剖析与自定义
4、Jetpack 全家桶
5、Android R
6、RXJava 响应式编程框架设计
[](
)360°全方位性能调优
====================================================================
性能优化是针对整个 app 开发而言的。一个好的项目被开发出来,不单是产品要好,开发者也需要知道,为什么我开发的这个 app 能够在绝大多数的手机运行,为什么用户在使用的时候绝大部分的手机不会出现 bug。我们的 apk 文件可以优化到很小的,比如你做一个项目,打包之后可能是 10m,但是经过优化之后可能就只有 8m,甚至更小。另外,我们做的项目安全性如何?我们凭什么断定我们做出来的 app 安全性好。这都是性能优化中会涉及的。
1、设计思想与代码质量优化
一个 app 的性能好不好我们需要从两个层面努力。第一个层面:从写代码的时候就需要注意,让自己的代码是高性能高可用的代码,这个过程是书写高性能代码;第二个层面:对已经成型的代码通过工具检查代码的问题,通过检查到的问题来指导我们进行代码的删改,这个过程被称为调优。
如何写出高性能的代码呢?那就需要我们具备深厚的代码功底,这就是代码的基础,如:数据结构达到可以根据应用场景写出符合当前场景的特殊结构,比如 google 针对 Android 平台特征研发了 sparseArray 替代 HashMap。另外,对常用的算法有自己独到的见解,leetcode 上有刷个上百道题,这样差不多可以达到精通最常用的排序查找动态规划等算法的能力。再者,高效的算法以及节省内存的数据结构如果配合优秀的符合应用场景的设计模式,那么,这些就为高性能的代码提供了实现依据。
另外一个就是对写好的代码进行调优,那么调优的方向就是使用 Profiler 工具进行测试和检查,看哪里有性能消耗大的操作,然后分析对于
代码的问题。调优的方向就变成了如何对内存调优,对耗电调优,对网络流量调优,当然,还有对启动速度,页面切换效果与速度,开机白屏体验,闪屏方面的原因等进行分析和调优。最后再加上一个屏幕适配相机适配。
2、程序性能优化
启动速度与执行效率优
化布局检测与优化
内存优化
耗电优化
网络传输与数据储存优化
APK 大小优化
3、开发效率优化
分布式版本控制系统 Git
自动化构建系统 Gradle
4、项目实战
启动速度流畅度抖音在 APK 包大小资源优化的实践优酷响应式布局技术全解析网络优化手机淘宝双十一性能优化项目揭秘高德 APP 全链路源码依赖分析彻底干掉 OOM 的实战经验分享微信 Android 终端内存优化实践
[图片上传失败…(image-70c453-1615361024809)]
对标腾讯 T3.3 架构师必备技术
Android 框架体系架构(高级 UI+FrameWork 源码) 这块知识是现今使用者最多的,我们称之 Android2013~2016 年的技术。
Android 开发者也往往因为网上 Copy 代码习惯了而导致对这块经常“使用”的代码熟悉而又陌生:熟悉的是几乎天天在和它们打交道, 天天在复制这些代码 ;陌生的是虽然天天和这些代码打交道,但是并没有深入研究过这些代码的原理,代码深处的内涵。
本篇知识要点:
1、架构师必备的代码设计准则
2、组件化架构设计
3、插件化架构设计
4、热修复设计
5、开源框架源码解析与实现
评论