华山论剑之契约式编程与防御式编程
背景事情的来由还要从几十几亿年前的一次星球大爆炸说起,sorry,背错台词了,是从几天前讨论接口返回数据和几个月前讨论课件本地数据结构说起,简单的说,就是碰到约定好的内容出现异常,是我们在程序中内部作兼容处理,还是抛出去。 打个比方,我们要解析一段json,约定这个json的格式,只能是正常格式,或者是空,那么一旦返回json的方法返回了一个『既不是正常格式,又不是空的异常值』,程序该如何处理呢? 小花:一旦碰到约定异常,程序必须兼容处理,一定不能让程序Crash 小Fa:一旦碰到约定异常,就必须抛出去,告知约定有误,找出具体错误原因 这个问题,相信只要是程序猿基本都遇到过,举个最常见的栗子,NullPointerException,
我的学习之路
今天不谈技术,来跟大家聊一聊这几年的开发之路,希望以自身的经历,向各位开发者抛砖引玉,少走弯路。首先自我介绍下,我是徐宜生,《Android群英传》和《Android群英传:神兵利器》的作者,慕课网Android讲师,CSDN博客专家,乐于分享,热爱技术。初学当我在读大三的时候,Android才刚刚崭露头角,那时候我还在学习J2EE,而且算是比较努力,J2EE学的挺卖力,以至于做了几个小网站、小系统,后来逐渐接触到了Android,记得当时是导师准备做一个学院的信息推送系统,类似于现在的极光、个推一样。还记得当时借用了国外比较成熟的Androidpn框架,也就是基于XMPP的Android Push
当程序员遇上数学
曾经一直有人问数学老师,学数学有什么用?我去买菜难道还要用到微积分吗?我去开会难道还要用到线性代数吗?这估计是很多人学不好数学、不想学数学而找的借口,但这个问题究竟要怎么回答呢?今天我就站在程序员的角度上来回答下这个问题。 隔壁老王是一个刚入职的程序猿,最近正在被资深程序猿小明带着。 小明:老王,你数学怎么样啊?老王:啊,数学?加减还可以,乘除就要看了。小明:¥#…&*)@!Mission One小明:老王,最近射击师小红设计了一套不错的UI动效,你不还是单身狗吗,给你个机会去聊聊妹吧,把这套动效完成好!老王:跪谢小明,保证完成任务!
Android群英传:神兵利器
2016年的第一本书,比2015年来的稍早一些《Android群英传:神兵利器》——看上去好像是第一本书的续集,但实际上,这本书的内容,在我写《Android群英传》的时候就已经写了不少了,碍于出版社的篇幅限制与主题的统一,很多内容并没有放到《Android群英传》中。 由于第一本书上市后,受到各位开发者的抬爱,销售情况还算理想,所以出版社一直希望我能出一本续集,因此,我便萌生了想要把这本书补全的想法。 一开始,我一直在思考,开发者到底需要怎样的书,作为一个一线的开发者,我的经历还是比较丰富的,头衔比较长——自学者、业余开发者、私活开发者、布道师、
对不起!我来晚了!——《Android群英传》出版祭
历时将近一年,我的第一本书终于就要出版了,虽然经历种种曲折,历经磨难,最终还是赶在八月份的尾巴上,修成正果。 首先,要向大家道歉,本来预计是在6月份上市的书,一拖再拖,直到现在才得以出版,让不少朋友一等再等,这里,向这些朋友的耐心,狠狠的点个赞。 写书之前其实,当官杨主编第一次找我写书的时候,其实我是,是想拒绝的,我跟女朋友讲,我拒绝,因为,其实我还只是一个非常普通的开发者……但女朋友对我讲,写书,不一定是要有多么响的名声,用心去写,把自己的思考和经验写下来,不仅仅是对他人有帮助,对自己也是一种提高。