快速业务通道

使用原汁原味的Java语言 - 非Java原生程序员的语言流畅性 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
观的类命名规范 。举例来说,在 C# 中,类名都是以小写字母开头的,方法名和字段名以大写字 母开头。Java 风格则恰好相反。我没有任何合理的原因能评判一种规范是否比 另一种更好,但我了解,混用命名规范会使代码看起来存在严重错误。这种做法 也会导致 bug。如果您知道,每一个全部由大写字母组成的名称都是常量,则会 以不同的方式进行处理。在寻找命名规范与声明类型不匹配之处时,我发现了程 序中的许多 bug。

args而非 argv

这一点是最微不足道的,但也正是这场风格之争所关注的细节。在 Java 的 惯例中 main()方法的参数名为 args,而不是 argv:

public static void main(String[] args)

这至多只是对 argv 这个名称进行了一点细微的改进。作为参数的缩写,它 或多或少地比 argv 更易懂一些。当然,在合乎惯例的 Java 代码中,通常是禁 止使用缩写的(参见 请勿缩写)。我们使用 args 作为 main() 方法的参数名 的惟一原因与 C 程序员使用 argv 的原因是相同的 — 第一本关于 C 语言的图 书的作者 Kernighan 和 Ritchie 使用了这个名称。而 Gosling 和 Arnold 使 用了 args。除此之外,再无其他原因。同样,所有原生 Java 程序员都倾向于 使用 args,如果您希望保持原汁原味,那么也应该这样做。

Java 编程中的基本命名规则非常简单,也值得牢记:

类和接口名以大写字母开头,如 Frame。

方法、字段和本地变量名以小写字母开头,如 read()。

类、方法和字段名均使用驼峰式大小写风格,如 InputStream 和 readFully()。

常量 — 终态静态字段和临时终态本地变量 — 全部适用大写字母,并以下 划线分隔各词,如 MAX_CONNECTIONS。

使用原汁原味的Java语言 - 非Java原生程序员的语言流畅性(3)

时间:2011-06-10 IBM Elliotte Rusty Harol

请勿缩写

像 sprintf 和 nmtkns 这样的名称是超级计算机只有 32 KB 内存时代的遗 物。编译器将标识符限制为 8 个字符或更少,以此来节约内存。近 30 年来, 这已经不再是需要担心的问题。如今,再没有任何理由不使用完整拼写的变量和 方法名称。难以解读、无元音字母的变量名清楚地表明这个程序出自一名皈依 Java 的 C 程序员之手,请参见清单 3:

清单 3. Abbrvtd nms r hrd 2 rd

for (int i = 0; i < nr; i++) {    for (int j = 0; j < nc; j++) {      t[i][j] = s[i][j];    } }

不缩写、采用驼峰式大小写风格的名称更易读易懂,如清单 4 所示:

清单 4. 未缩写的名称更易读

for (int row = 0; i < numRows; row++) {    for (int column = 0; column < numColumns;  column++) {      target[row][column] = source[row][column];    } }

一段代码被阅读的次数要远远超过编写的次数,Java 语言为易读性而进行了 优化。C 程序员近乎沉迷于难解的代码,而 Java 程序员则不然。Java 语言将 易读性置于简洁性之前。

有一些极为常用的缩写形式,您仍然可以放心使用:

max 表示最大(maximum)

min 表示最小(minimum)

in 表示 InputStream out 表示 OutputStream e 或 ex 表示 catch 子句中的异常(不用于其他位置)

num 表示数字(number),仅用作前缀,如 numTokens 或 numHits tmp 表示主要在本地使用的临时变量 — 针对实例,在交换两个 值的时候

除此之外(或许还有少数一些例外),您应完整拼写出名称中使用的所有词 。

变量声明、初始化和使用(重用)

早期版本的 C 需要在方法开始处声明所有变量。这样是为了在编译器中实现 一定的优化,允许它在 RAM 极为有限的环境中运行。因而,C 语言中的方法大 多以几行变量声明开头:

int i, j, k; double x, y

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号