当前位置: 首页 > news >正文

2.6 代码注释与编码规

        在程序代码中适当地添加注释,可以提高程序的可读性和可维护性。好的编码规范可以使程序更易阅读和理解。本节将介绍Java中的几种代码注释方法以及应该注意的编码规范。

2.6.1代码注释

        通过在程序代码中添加注释可提高程序的可读性。注释中包含了程序的信息,可以帮助程序员更好地阅读和理解程序。在Java源程序文件的任意位置都可添加注释语句。注释中的文字Java编译器不进行编译,所有代码中的注释文字对程序不产生任何影响。Java语言提供了3种添加注释的方法,分别为单行注释、多行注释和文档注释。

1.单行注释

        “//”为单行注释标记,从符号“//”开始直到换行为止的所有内容均作为注释而被编译器忽略。语法如下:

//注释内容

        例如,以下代码为声明的int型变量添加注释:

int age;        //定义int型变量,用于保存年龄信息

2.多行注释

        “/**/”为多行注释标记,符号“/*”与“*/”之间的所有内容均为注释内容。注释中的内容可以换行。语法如下:

/*
注释内容1
注释内容2

*/

注意:
(1)在多行注释中可嵌套单行注释。例如:

        /*

        程序名称:Hello world        //开发时间:2021-03-05

        */
(2)多行注释中不可以嵌套多行注释,以下代码是错误的:
/*
程序名称:Hello world
/*开发时间:2021-03-05; 作者:张先生*/

*/

3.文档注释

        “/***/”为文档注释标记。符号“/**”与“*/”之间的内容均为文档注释内容。当文档注释出现在声明(如类的声明、类的成员变量的声明、类的成员方法的声明等)之前时,会被Javadoc文档工具读取作为Javadoc文档内容。除注释标记不同外,文档注释的格式与多行注释的格式相同。对于初学者而言,文档注释并不是很重要,了解即可。

说明:一定要养成良好的编程习惯。软件编码规范中提到“可读性第一,效率第二”,所以程序员必须在程序中添加适量的注释来提高程序的可读性和可维护性。程序中,注释要占程序代码总量的20%~50%。

2.6.2编码规范

        在学习开发的过程中要养成良好的编码习惯,规整的代码格式会为程序日后的维护工作提供极大的便利。在此对编码规则做了以下总结,供读者学习:
☑  每条语句尽量单独占一行,每条语句都要以分号结束。

注意:程序代码中的分号必须为英文状态下输入的,初学者经常会将“;”写成中文状态下的“;”,此时编译器会报出Invalid Character(非法字符)这样的错误信息。

        ☑在声明变量时,尽量使每个变量单独占一行,即使有多个数据类型相同的变量,也应将其各自放置在单独的一行上,这样有助于添加注释。对于局部变量,应在声明的同时对其赋予初始值。
☑在Java代码中,空格仅提供分隔使用,无其他含义,开发者应控制好空格的数量,不要写过多的无用空格。例如:

public        static        void        main        (        String        args[        ]        )

        等价于

public static void main(String args[])

        ☑为了方便日后的维护,不要使用技术性很高、难懂、易混淆的语句。因为程序的开发者与维护者可能不是同一个人,所以应尽量使用简洁、清晰的代码编写程序需要的功能。
☑对于关键的方法要多加注释,这样有助于阅读者了解代码的结构与设计思路。
代码应该写在哪?这可能是第一次学习编程的读者最大的疑惑了。作者对Java代码的主要结构做出了几点总结:
☑package语句要写在类文件的第一行。如果类不在任何包中,可以不写package语句。
☑import语句要写在类上方、package语句下方。
☑方法必须写在类的{ }之内。方法的{ }内不可以创建其他方法。
☑类的成员变量必须定义在类的{ }之内、方法的{ }之外的位置。方法的{ }之内定义的变量均为局部变量。
☑除了上面几种类型的代码,其他类型代码都应该写在某个{ }中(如代码块或方法体之内)。其他类型的代码包括局部变量、内部类等。
如果你现在无法读懂这几点总结,请不要焦虑,只要勤加练习,这些注意事项自然就会掌握。

http://www.dtcms.com/a/490109.html

相关文章:

  • html css js网页制作成品——饮料官网html+css+js 4页网页设计(4页)附源码
  • Langchain流式自定义生成器函数
  • 基于单片机的智能收银机模拟系统设计
  • ssh连接本地虚拟机
  • PyInstaller多模块项目打包指南
  • access 网站后台汕头自助建站
  • 从图纸到三维模型:智能装配指导的突破之路
  • 「JMM+Java锁+AQS」 知识图谱
  • 【广州公共资源交易-注册安全分析报告-无验证方式导致安全隐患】
  • C++ 学习日记
  • 晶晨S905L3SB芯片_安卓9.0_高安版_支持外置WIFI_线刷固件包
  • 4G5G 移动代理实战:什么时候必须用移动 IP?
  • 【OpenHarmony】传感器轻量级服务模块架构
  • 面向服务架构(SOA)模式全解析:设计、实践与价值
  • HTML 零基础入门到实战:从骨架到页面的完整指南
  • 【Java EE进阶 --- SpringBoot】Mybatis操作数据库(进阶)
  • 成都海鸥手表网站crm系统的销售管理功能包括
  • 『 QT 』QT信号机制深度解析
  • stp,rstp,mstp的区别
  • 海外盲盒APP开发:从“未知”到“精准”的用户体验革命
  • 网站建设yuanmus站长工具seo综合查询5g
  • 使用 IntelliJ IDEA 结合 DBeaver 连接 MySQL 数据库并实现数据增删查改的详细步骤:
  • 零知IDE——基于STM32F407VET6和ESP-01的SHT2X温湿度监测与云传输系统
  • 记一次生产服务器磁盘I/O性能瓶颈与负载过高分析与处理
  • MEMS加速度计深度解析:从智能手机到结构健康监测
  • LLMs-from-scratch(dataloader)
  • 兴义哪有做网站婚纱影楼网站源码
  • C++_394_tableWidget控件,两种模式,1、行显示模式 2、网格显示模式
  • MyBatis拦截器实现saas租户同库同表数据隔离
  • 求n以内最大的k个素数以及它们的和