Java学习——强调一下编程风格
讲完了Java的基础语法,大家就可以编写简单的程序代码了,这里有必要强调一下编程风格。
代码风格虽然不影响程序的运行,但对程序的可读性却非常重要。自己编写的程序要让别人看懂,首先在排版方面要非常注意。
其实每个人的编程风格、每个软件开发公司的编程风格都不一样。一个人编写的程序代码,就应该能让别人看懂,甚至是过了很长时间,自己也要看的懂,否则这个程序就成了一个死程序。
编程风格是指编程时的格式,让程序看上去就很有层次感。下面通过一些例子,说明编程风格的重要性:
上面程序段的整个排版看起来是否很舒服,并且层次感很强?是否一眼看上去就知道整个程序架构?这里的关键在于缩进,缩进也可以称为跳格。
上面的代码采用的缩进:"public class math" 是顶格的,接着 mian() 方法缩进 4 个空格,在 mian() 方法里面的代码一律缩进 8 个空格,而 print() 方法的主体代码又多缩进 4 个空格。这样整个程序的所属关系就很明显了。mian() 方法属于 math 类,其余的都属于main() 方法,而在 print() 方法内的代码段又属于此方法。规律就是空格多的代码从属于空格少的代码。
我推荐大家使用 tab 键缩进,大部分编辑器(如Eclipse)都支持自定义 tab 键的空格数,一般为 4 个空格。
除了缩进,空行也是必要的,先看下列程序代码:
上面的程序段,在 print() 方法与 view() 方法之间有空行,用来区分不同的模块。print() 方法与 view() 方法所完成的功能不一样,所以使用空行将它们分开,这样更增加了程序的可读性。
另外,需要注意的是方法或属性的命名。这些名字应该有含义,最好有规律,不要只使用"a"、"b"这种通用变量,适当可以根据变量或函数的功能为其命名。上面的"print",其他程序员一看就知道这个方法,是有关打印或输出的函数。再如:变量名"name",一看就知道是有关名字的变量。所以,一定要命名的有意义,否则程序的可读性不强。
还有一点是有关注释的。在每个方法的方法名旁边,应该添加一些注释,同时在一段程序完成之后,也要对程序的功能及如何操作,做个简单的描述。
只要做到以上几点,这个程序他人来读就很容易。即使自己在很长时间后,再来读程序也会一目了然。
Java学习——强调一下编程风格的更多相关文章
- [Java学习] 强调一下编程风格
讲完了Java的基础语法,大家就可以编写简单的程序代码了,这里有必要强调一下编程风格. 代码风格虽然不影响程序的运行,但对程序的可读性却非常重要.自己编写的程序要让别人看懂,首先在排版方面要非常注意. ...
- ES6深入学习记录(三)编程风格
今天学习阮一峰ES6编程风格,其中探讨了如何将ES6的新语法,运用到编码实践之中,与传统的JavaScript语法结合在一起,写出合理的.易于阅读和维护的代码. 1.块级作用域 (1)let 取代 v ...
- Java学习之网络编程实例
转自:http://www.cnblogs.com/springcsc/archive/2009/12/03/1616413.html 多谢分享 网络编程 网络编程对于很多的初学者来说,都是很向往的一 ...
- Java学习:网络编程总结
Java网络编程总结 一.概述 计算机网络是通过传输介质.通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共享和数据传输的系统.网络编程就就是编写程序使联网的两个(或多个)设备( ...
- 学习Javascript的编程风格
Javascript编程风格 Douglas Crockford是Javascript权威,Json格式就是他的发明. 去年11月他有一个演讲(Youtube),谈到了好的Javascript编程 ...
- Java学习笔记-网络编程
Java提供了网络编程,并且在实际中有着大量运用 网络编程 网络编程概述 网络模型 OSI参考模型 TCP/IP参考模型 网络通讯要素 IP地址 端口号 传输协议 网络参考模型 网络通讯要素 IP地址 ...
- Java学习_面向对象编程
抽象类 一个class定义了方法,但没有具体执行代码,这个方法就是抽象方法,抽象方法用abstract修饰.因为抽象类本身被设计成只能用于被继承,因此,抽象类可以强迫子类实现其定义的抽象方法,否则编译 ...
- Java学习之网络编程
转自:http://blog.csdn.net/driverking/article/details/6573992 一.网络编程基本概念 1.OSI与TCP/IP体系模型 2.IP和端口 解决了文章 ...
- Java学习进阶—高级编程
当你已经熟练的掌握了面向对象中的各种概念后,是否会对这些知识是如何使用的产生浓厚的兴趣?本课程主要针对于已经掌握了JAVA核心开发技术的读者准备,讲解了JAVA多线程.常用类库.IO编程.网络编程.类 ...
随机推荐
- Codeforces Round #712 (Div. 2)
A. Déjà Vu 题意:就是问能否加上字母a,使得字符串不中心对称 思路:只有一种情况不能加入,就是全部是a,剩下的都可以满足,找a的位置就找哪个字母不是a,然后让它的对称位置是新加的这个a 代码 ...
- c语言编程学习之字符串
字符串字面量与字符变量 1.字符串字面量 字符串字面量是一对双引号括起来的字符序列.当c语言编译器在程序中遇到长度为n的字符串字面量时,它会为字符串字面量分配长度为n+1的内存空间.这块内存空间用来存 ...
- 偷梁换柱:使用mock.patch辅助python单元测试
最近在搞软工项目的后端测试,重新复习了一下python的mock.patch,并用它简化了对一些复杂逻辑的测试,在此记录 问题描述 本组的项目比较特殊,设计对教务网站的模拟登陆与信息爬取,同时不少接口 ...
- Zoho Projects助力企业项目高效管理
挑选项目管理工具,就和人买衣服.买鞋子是一样的,除了看外观,最重要的是合适.随着项目管理工具的不断发展,市面上有很多工具都非常优秀,也能解决企业.团队的实际需求. 对于项目管理来说,最重要的在于人员协 ...
- ruby基础(一)
Ruby基础 1.对象.变量和常量 1.1 对象 在Ruby中表示数据的最基本单位是对象,任何数据都是对象,使用类来表示对象的种类. 一个某个类的对象称作对象的实例. 对象 类 eg 数值 Numer ...
- [刷题] 300 Longest Increasing Subsequence
要求 给定一个整数序列,求其中的最长上升子序列长度 子序列元素可不相邻 元素相等不算上升 一个序列可能有多个最长上升子序列,但最长的长度只有一个 思路 暴力解法:选择所有子序列进行判断((2^n)*n ...
- 一文搞懂spring的常用注解
spring传统做法是使用xml文件对bean进行注入和配置.通过使用spring提供的注解,可以极大的降低配置xml文件的繁琐.本文将介绍常用的注解. 一@Autowired Autowired意为 ...
- CSS元素的盒类型
一.css简介 CSS是Cascading Style Sheet的缩写,中文称层叠样式表.HTML中的元素都有着自己的属性和默认样式,CSS控制HTML内标签显示不同布局样式.控制对应html标签颜 ...
- Docker创建镜像以及私有仓库
Docker的安装及镜像.容器的基本操作详见博客https://blog.51cto.com/11134648/2160257下面介绍Docker创建镜像和创建私有仓库的方法,详细如下: 创建镜像 创 ...
- 强哥JavaScript学习笔记
js文件放header头最后,js代码放body体最后 js语言定位: js是基于对象的语言 php.java是面向对象的语言 定义变量: var str="hello world" ...