项目开发过程中把控细节有多重要,传智播客冀老师这样说
“丢失了一个钉子,坏了一只蹄铁;坏了一只蹄铁,折了一匹战马;折了一匹战马,伤了一位骑士;伤了一位骑士,输了一场战斗;输了一场战斗,亡了一个帝国。”这是西方传播的民谣,传智播客石家庄校区教研部冀先生对这此颇有感应。“失之毫厘,差之千里”,是冀先生对这首民谣的归纳综合。 不积跬步无以至千里,不积小流无以成江海。想要成绩一番大奇迹,就要从点滴小事做起,把控好进程中的每一个细节。这是冀先生对本身的要求,也是他在传智播客做解说事变的举动尺度。 冀先生以为,IT项目产物的研发实验,更是必要留意细节。由于每个细节的把控水平直接关乎项目运行功效的精确度。对细节的疏忽,也许会导致体系瘫痪,影响用户体验。纵使产物已颠末精益求精,每个买卖营业代码的编写仍不能大意疏忽。冀先生分享一些在事变中浮现细节重要性的详细的案例代码。 案例 有一个很简朴的应用场景:市肆中一只碳素笔标价1.10元,用一张2元人民币购置,应该找几多零钱? 下面是一个试图办理上述题目的措施,它会打印出什么呢? public static void main(String args[]) { System.out.println(2.00 - 1.10); } 许多人也许灵活地以为会打印出0.90,但假如你运行此措施就会发明它最终的执行功效是:0.8999999999999999。 在钱币计较中,假如我们向客户展示这样的数据,必然会贻笑大方,并且很难做出公道的表明。假如截断两位数字表现,便直接丢掉一分钱,这就是典范的细节思量不到位。 题目的办理方案请参考Java中BigDicamal类的用法。 案例 罗列一个简朴的营业场景:求一天有几多毫秒及几多微秒? 措施如下: public static void main(String args[]) { final long MILLIS_PER_DAY = 24 * 60 * 60 * 1000; System.out.println(MILLIS_PER_DAY); final long MICORS_PER_DAY = 24 * 60 * 60 * 1000 * 1000; System.out.println(MICORS_PER_DAY); } 说明营业场景,求天天的微秒数,营业公式为(24小时/天天*60分钟/小时*60秒/分钟*1000毫秒/秒*1000微秒/毫秒),天天毫秒数只是少了最后一个因子1000,执行上述措施会发明求得微秒数时计较功效比正确功效小了200倍,而毫秒数的计较功效是正确的。 这是为什么?我们可以看到表达式右侧的全部因子均为int型数据,按照Java说话的特征,两个int型数据相乘功效为int范例,而求得微秒数的计较功效显然已经超出int范例数据的最大界线,导致内存溢出。 办理方案请参考Java变量及数据范例、Java自动范例转换、Java常用表达式。 案例 再举一个措施案例,其虽不会导致运行功效的错误,可是必然会令人一头雾水,不知其以是然。 看下面的代码: public static void main(String args[]) { System.out.println("kayak"); http: // www.baidu.com System.out.println("hello"); } 这是一个存在争议的题目,假如正常地输出“kayak hello”,有人也许以为措施无法通过编译,并煞费苦心地举办调试,乃至尚有人筹备重启电脑。着实措施中URL的前半部门是Java中的一个语句标号(参考Java中的goto语句),后头是行尾注释,因此措施中没有任何犯科语句,是可以正常运行的。 冀先生在传智播客的解说进程中尤其重视细节,他把每一个细节都讲的清楚透彻,让学员真正领略运用。 冀先生并不是纯真地讲授Java的三个常识点,而是通过这些例子声名细节的疏忽会导致运算功效的背道而驰。冀先生申饬初学者,不要好高骛远、一味地追求软件架构可能最时髦的技能,而是要时候紧记最基本的步崆最焦点的,后果与声誉都是一点一滴累积起来的。 掌握功德情中的每个细节,是传智播客每一位讲师的解说责任,他们严酷要求本身,也严酷要修业员。酝酿格斗进程中的细节之美,机动运用细节带来的财产,从而使本身纵然置身瓦砾之中,也能闪烁出钻石般的光线! (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |