精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-11-30
从逻缉上看是没有差别的,但今天遇到一个情况,我同事改我之前写的一段代码,直接在switch中又加了一个新的case,而原来的最后一个case没有加上break,这就导致了错误。 因此,在写switch时,最后加上一个对逻缉没有影响的break是有意义的。 就象我之前写了一个单粒的类,没有把构造设为私有,我同事直接new来用,导致了一个奇怪的错误,查了许久。 由此可以想到:java的访问控制和spring的依赖注入(分层注入),都起到了可见性限制的作用,用好这些内容,对软件开发能起到很大的作用。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-11-30
最后一行应该是default吧~
|
|
返回顶楼 | |
发表时间:2012-12-01
longfor5 写道 最后一行应该是default吧~
switch的default是可选的,用不用取决于业务逻缉。我文中的情况是不需要default的情况。 |
|
返回顶楼 | |
发表时间:2012-12-01
je的水平真的让这种帖子拉低了。。。。。。。。。。。
|
|
返回顶楼 | |
发表时间:2012-12-01
gdpglc 写道 longfor5 写道 最后一行应该是default吧~
switch的default是可选的,用不用取决于业务逻缉。我文中的情况是不需要default的情况。 只能说楼主在犯这个错误的同时也指出这个错误。这是代码规范的问题。 你同事犯的错就是没有按“每个case后面都要有break”的规范来。但是,最后就算不需要default,也要写上default:break;这也是规范问题。 只能说,你们共同犯下了这个错。 |
|
返回顶楼 | |
发表时间:2012-12-01
最后修改:2012-12-01
zhukewen_java 写道 gdpglc 写道 longfor5 写道 最后一行应该是default吧~
switch的default是可选的,用不用取决于业务逻缉。我文中的情况是不需要default的情况。 只能说楼主在犯这个错误的同时也指出这个错误。这是代码规范的问题。 你同事犯的错就是没有按“每个case后面都要有break”的规范来。但是,最后就算不需要default,也要写上default:break;这也是规范问题。 只能说,你们共同犯下了这个错。 多谢吧,之前的确不重视这个,网上找了一下还真有你说的,我今天加班,晚上有时间看看。 不过要多说一句,不要教条。java语法没这样规定,一定有它的原因。 |
|
返回顶楼 | |
发表时间:2012-12-01
最后修改:2012-12-01
kjj 写道 je的水平真的让这种帖子拉低了。。。。。。。。。。。
说这话,就是说你是水平高的呗... 不过,一句风凉话能说明你哪高呀? 最看不上的就是你这样的人,总想通过压低别人来抬高自已。 看到别人代码一定说烂,又说不出哪不好。 看到别人翻译的书,一定说翻的烂,又不能看原著。 说到什么都会,又做不了什么实际的东西。 这样人见多了。 |
|
返回顶楼 | |
发表时间:2012-12-01
从逻缉上看是没有差别的,但今天遇到一个情况,我同事改我之前写的一段代码,直接在switch中又加了一个新的case,而原来的最后一个case没有加上break,这就导致了错误。
因此,在写switch时,最后加上一个对逻缉没有影响的break是有意义的。 就象我之前写了一个单粒的类,没有把构造设为私有,我同事直接new来用,导致了一个奇怪的错误,查了许久。 ==== 中肯的讲,第一件事中, 楼主的责任占70%,对方占30%。 在第二件事中,双方责任各50%,具体的讲如果文档中描述了单例模式,则对方80%责任,如果没有说明,楼主80%责任。 在修改代码时,必须要读而且读懂他人的代码,这是预防bug,提高代码质量,写出优美代码的前提。zhukewen_java 和longfor5 说的规范也是必要的,主要是为了防止那种快速修改代码而不仔细阅读的行为,但这种规范是帮助和防范新手的,对老鸟来说,不应该依赖他人遵守规范。 |
|
返回顶楼 | |
发表时间:2012-12-01
建议不是要switch语句。改成if...else if ...语言。
|
|
返回顶楼 | |
发表时间:2012-12-01
bambooman 写道 从逻缉上看是没有差别的,但今天遇到一个情况,我同事改我之前写的一段代码,直接在switch中又加了一个新的case,而原来的最后一个case没有加上break,这就导致了错误。
因此,在写switch时,最后加上一个对逻缉没有影响的break是有意义的。 就象我之前写了一个单粒的类,没有把构造设为私有,我同事直接new来用,导致了一个奇怪的错误,查了许久。 ==== 中肯的讲,第一件事中, 楼主的责任占70%,对方占30%。 在第二件事中,双方责任各50%,具体的讲如果文档中描述了单例模式,则对方80%责任,如果没有说明,楼主80%责任。 在修改代码时,必须要读而且读懂他人的代码,这是预防bug,提高代码质量,写出优美代码的前提。zhukewen_java 和longfor5 说的规范也是必要的,主要是为了防止那种快速修改代码而不仔细阅读的行为,但这种规范是帮助和防范新手的,对老鸟来说,不应该依赖他人遵守规范。 分析的不错。 |
|
返回顶楼 | |