对于开发来说,是不是拿到测试提交的问题之后,经常都是微微一笑,心里默念“小问题”,然后打开工程,一两行代码就搞定了。对于此,我没有什么成就感,反而在思考是什么造成了这种问题。
就自己的经验稍微总结了一下,希望能够时常警醒自己:
- 未虑胜,先虑败
很多情况下,低级错误都是失败场景造成的。比如以下两种:
1)网络请求错误。网络请求错误意味着获取不到数据,那么此时如何提供较为柔和的提示界面,需要数据展示的界面如何变化,用户该怎样继续获取数据或者进行其他操作,此时的操作和之前有何不同,这些都是需要考虑的问题,否则就会出现需要你改正的小问题啦。
2)对象为空的情况。这种情况很常见,如果一个对象为空,该怎么处理,这种如果不提前考虑往往会在遇到数据异常时闪退,swift中要尤其注意解包的问题。与此类似还有数组为空,字典未定义key等。数组为空是经常遇到的,此时的界面与之对应的tableview,pickerview等就需要相当注意,会不会出现越界的问题,pickerview的视图滚动会闪退等等。
- 场景完整性
有些App即使不登录也是可以使用的,但是此时的权限不相同。那么此时就要考虑到完整的场景了,不登录是什么样,登录之后实名认证了是什么样,未实名认证是什么样,这些都要考虑到,否则就会出现到某一场景操作确实的情况。
- 多端一致性
网页端、移动端、后台操作等等,要保证内容的一致性,同样的输入输出,显示控制,这些才不会出现数据的紊乱。
- 注重用户体验
用户体验对于开发者来说更多的是考虑操作的更加精细化,使用方式的更加简单易懂,界面友好等等。很常见的比如输入时候的键盘类型控制、小数位数控制、字符内容控制等等,在源头上限制用户的输入错误。多考虑用户操作的简易性,可以避免很多小问题带来的用户烦恼。
网友评论