说明:为了使逻辑更易懂,也为了可维护性更高,应该把代码按模块分割,而构成模块的类的方法,原则上只能有一个入口和一个出口。另外,关于嵌套的深度和模块的行数,也应该控制在一眼就能看清楚的程度上。

就Java语言来说,考试大提示:有如下的几点需要在编码的时候特别留意。

① switch的case,default部分原则上必须以break终止

如果不用break来终止的话,必须代之以编码规约中既定的注释。但是,如果swich或者if/else需要反复进行,就需要重新考虑是不是应该使用多态。

② 处理途中只允许返回异常,返回方法中不允许把异常和return混杂在一起。

处理途中发生的错误,原则上都要使用异常来返回。例如,在对参数进行检查时发生异常时,要抛出IllegalArgumentException。在一本程序里,把错误一会儿用异常抛出,一会儿又用返回值(返回ERROR等)返回,往往是程序混乱的根源。必须在设计阶段明确方针,避免这种混乱。

③ finally中,不要写return。

例:

① switch中需要考虑的要点

Int dd = 0;

Switch(status) {

case ‘ A’ :

dd = 9;

break; //OK:正确,用break终止

case ‘ B’:

dd++;

/* FALL THROUGH */ //OK:有意不使用break文,插入了规定的注释

case ‘ C’:

dd++; //ERROR:没有插入注释,明显是缺少break的Bug

default:

dd = -1;

break; //OK:default里也没有忘记break

}

② 用异常处理来返回错误

If (value == null) {

throw new IllegalArgumentException(); //OK:不使用return,用抛出异常的方式返回错误

}

③ 在finally块中,对返回值有影响的情况

Int value = 1;   Try{   return value;   } finally{

value = 4;

return value; //ERROR:因为finally块是肯定会被执行到的,所以在try里本来想

//返回1,而最终结果永远是4

}

//如果在这里写return的话,出口就只有一个了。

如何让Java代码流畅和结构化.doc

下载Word文档到电脑,方便收藏和打印[全文共858字]

编辑推荐:

下载Word文档

java结构化语言,如何让Java代码流畅和结构化相关推荐

  1. java汉字编码和c语言,java与c语言的区别 java和c语言有什么不同

    目前在语言编辑的过程当中我们接触的就是c语言和java编程,可是c语言与java究竟有什么区别呢?学习编程语言之前,我们就来了解一下这两者之间的具体区别在哪吧. java与c语言的区别--java和c ...

  2. R语言中导入java中_R语言直接调用Java代码

    我们都知道Java语言长期处于霸主地位,在所有编程语言排行榜中,Java也是常年位居第一.在近几年也是爆炸式发展,几乎覆盖到了应用开发的所有领域.而R语言则在统计圈和数据可视化处于佼佼者,如果将Jav ...

  3. c语言难还是java难_C语言真的比Java难学吗?

    原标题: C语言真的比Java难学吗? 千锋小编觉得C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.C语言语法比较简单便捷, ...

  4. python语言结构化语言_如何在python中处理结构化语言文件

    我有一个像这样的大型结构化语言文件:TASK SchM_Task { TYPE = AUTO; SCHEDULE = NON; PRIORITY = 160; ACTIVATION = 1; TIMI ...

  5. java xml 表达式语言_中级Java开发工程师笔试题

    JAVA笔试题 1) 描述Web Service的用途和调用方式的语言是(B). (选择一项) a) HTML b) WSDL c) JAVA d) XML 2) 在Web技术中,"无刷新& ...

  6. 考研学java还是c语言,想学习Java,应该选择就业还是考研?

    想学习Java,应该选择就业还是考研?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 想学习Java,应该选择就业还是考 ...

  7. go语言如何调用java接口_Go语言实现的Java Stream API

    学习Go语言时实现的集合操作工具库,类似于Java 8 中新增的Stream API.由于Go语言不支持泛型,所以基于反射实现.只用于学习目的,不要用于生产(PS:当然也不会有人用). 集合操作包括生 ...

  8. C语言作业二选择结构,C语言第二次作业参考答案选择结构.pdf

    1 C 语言第二次作业(选择结构)参考答案语言第二次作业(选择结构)参考答案 1.某年如果能被某年如果能被 4 整除整除,,但不能被但不能被 100 整除整除,,或者能被或者能被 400 整除的整除的 ...

  9. 【Groovy】Groovy 语言特点简介 ( 支持 Java 语法 | 支持 Java 虚拟机 | Groovy 语言是动态语言 | Groovy 扩展 JDK | 编译时元编程 )

    文章目录 一.Groovy 支持 Java 语法 二.Groovy 支持 Java 虚拟机 三.Groovy 语言是 动态语言 四.Groovy 扩展 JDK 五.Groovy 编译时元编程 一.Gr ...

最新文章

  1. BestCoder Round #92 比赛记录
  2. python第三方库numpy-Python第三方库之Numpy库
  3. 《Total Commander:万能文件管理器》——第2.3节.下载与安装
  4. 我的机器学习入门之路(上)——传统机器学习
  5. 监听对象中某一项的值_Vue中watch的详细用法
  6. NSURLConnection超时大坑
  7. 华为Mate 40 Pro全新概念图曝光:这设计有点夸张了
  8. php pathseparator,在PHP拥有与命名空间和通过set_include_path()的一个问题
  9. eclipse插件本地扩展安装
  10. EntityFramewrok 使用
  11. iOS开发之项目经验总结
  12. Python version 3.3 required, which was not found in the registry
  13. 几种常用的抽奖方案综述(草稿)
  14. sigar 获取跨平台服务器信息
  15. MySQL索引优化面试题
  16. 正定矩阵和半正定矩阵
  17. 纬地道路纵断面设计教程_市政道路从识图算量到施工,一篇全搞定
  18. 魔百和CM311-1A_YST、(YM)_安卓9_S905L3A_默认开启ADB_纯净精简语音_完美线刷包
  19. 新版标准日本语初级_第三十九课
  20. 第二十三章《斗地主游戏》第3节:项目完整代码

热门文章

  1. ModelCheckpoint 讲解【TensorFlow2入门手册】
  2. 【Cocosd2d实例教程八】Cocos2d实现碰撞检测(含实例)
  3. 你的响应阻塞了没有?--Spring-WebFlux源码分析
  4. fastJson解析复杂对象时碰到的问题
  5. 机器学习算法基础(基础机器学习课程)——第一天
  6. php中的魔术函数以及魔术常量
  7. Transformer 在美团搜索排序中的实践
  8. 以太坊完整工作原理和运行机制!
  9. APM - 零侵入监控Http服务
  10. Linux-pidstat Monitor and Find Statistics for Linux Procesess