一、关于UI布局开发

1.想象中界面的长宽比

在开发过程中,还原设计师给出的设计效果只是最基本,但如果只是把你手上的设备运行的效果做成了和设计的效果1:1还原,我觉得是达不到及格线的。不要把用户真实的设备想象成UI设计师给出的设计图的样子。这有利于适配更多分辨率的设备。

设计图给出的是16:9,但是真实的场景中可能会有18:9,甚至1:1方形的设备,开发的时候就要考虑到,同一个控件在不同长宽比的设备是如何摆放的。比如:要考虑清楚当屏幕变宽时,是控件的宽度变大还是控件之间的横向空间变大,如果控件的宽度变大之后那它的高度是否变化?等等

总结一下就是:设计师给出的效果只是众多设备效果中的一个,而我们要开发的成果是_动态_的,可以随着各个设备变化的。

2.固定的数值,有时候就是毒药~

我很少开发过程中直接使用以dp为单位的宽或高,虽然dp也会根据不同的像素密度做一定的计算和适配,但是比起dp为单位的宽或高,还有其他更好的实现方式,比如百分比,长宽比例约束,填充剩余等等。

wrap_content用的就更少了……毕竟我不知道它具体有多大~

3.图片还是drawable?

对于某些简单效果既可以用图片也可以用drawable,那么要如何选择呢?

用图片,优点是:开发效率最高,还原度最好。缺点是:增加安装包控件,如果用网路图还存在加载速度慢,增加服务器存储成本等等。

用drawable,优点是:布局适配度更高,更节省安装包空间。缺点是:还原效果可能不佳,开发有难度。

俗话说鱼和熊掌不可兼得~具体情况具体分析。

二、关于请求接口

1.所有接口都是有统一处理的

统一处理方便做统一修改,统一的状态判断,这是接口方面最基础的。这也方便调用和调试,或者查看请求和返回数据。

一般情况下,接口的加密解密,数据校验也是在统一处理中进行的。有的接口可能还有一些默认字段,也可以在统一处理中添加。

2.接口中的字段名

具有相同意义的字段名字要统一。当然如果你作为移动端开发,在接口定字段名方面没有什么话语权就当我没说。

3.不要完全相信接口是100%可用的

客户端发开中药做好容错。比如接口报错怎么处理?缺少字段怎么处理?字段的返回值不合法怎么处理?

我的习惯是,默认所有字段的返回值类型都是String。以减少类型不匹配这样意外的发生。关键字段都设有默认值,避免缺少字段时意外发生。

4.有时候数字更有意义

在某些表示开关,有无等枚举类型的字段中,我习惯使用数值表示意义。比如: “1”表示开 “0”表示关。如果使用字符串就有可能出现书写错、大小写错误的问题。

三、关于APP架构

1.APP架构的意义

Android发展这么多年,出现了很多开发架构,比如:MVC,MVP,MVVM……

这么多类型架构出现的意义是什么呢?

提升开发效率,约束团队开发规则,方便代码阅读。

但我觉得,这都是扯淡~~~

2.比APP架构更有意义的事

取一个更容易理解的变量或者方法名吧,这更方便代码阅读。

加一两句注释,未来的你会感谢当下的自己。

每次提交都留下脚印,说说你做了什么。当然按下确定提交按钮之前,再次确认所有提交的内容,自己测试的代码可别提交上去哦。

如果你引用了第三方SDK,记得留下一句注释,写上你是从哪找到的这个SDK,无论是GitHub地址还是博客地址,方便出问题时找到它,也方便后续的SDK版本更新迭代。