0116 - UI 编程效率不高

发现果然还是对界面开发不熟悉啊。今天在做 iKindle 开发时,在界面上花了很多时间。简单回顾了下,主要有以下几个方面。

不熟悉控件的用法

对比较直觉的用法,自然没有问题。但对于一些较隐晦,却就不知道了。全部看一遍文档,没时间;于是撸起袖子直接开始代码。

于是,要么很容易碰到不会的点、或者问题,然后搜索解决,比较花时间。要么就会有简单接口封装成系统已经支持的复杂接口,做了无用功。

等项目不紧了,慢下来,还是以项目为契机,完整地学习界面编程;相比于遇到问题、解决问题,整体会省时间

对多线程缺乏经验

在后台编程中,多线程用的相对较少。而在界面开始中,多线程就相当之普遍了。

多线程的这两个点很容易引发问题:

  • 数据一致性。即多个地方都有可能修改一个值,那到底值是什么呢?
  • 执行的先后顺序。这个是最要命的。
    • 不习惯多线程的人(比如我),很可能会想当然地理解为程序的执行顺序,即是代码的顺序。但实际上,看似一个简单的接口,也可能会因为多线程的原因推后执行。
    • 而一旦代码的先后顺序错乱、或没有保证,就会有各种奇怪、难重现的问题,修改起来难、且花时间。

不过没事,等过了这一关,就不再对界面开发有心理阴影了。