什么是驼峰命名法

什么是驼峰命名法,第1张

骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例)。正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。

骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。

扩展资料:

驼峰命名法使用前注意事项:

1、由于Java面向对象编程的特性, 在命名时应尽量选择名词

2、驼峰命名法(Camel-Case): 当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,首字母以小写开头,每个单词首字母大写(第一个单词除外)。

如:myFirstName。

包名的书写规范 (Package) 推荐使用公司或机构的顶级域名为包名的前缀,目的是保证各公司/机构内所使用的包名的唯一性。包名全部为小写字母,且具有实际的区分意义。

一般要求:

1、选择有意义的名字,能快速地传达该类的用途。

2、所有包的命名必须采用小写英文字母。

实际应用:应用系统中经常应用分层,Dao层(数据库访问)、Service层(业务处理)、Web层(页面控制action类)。

1、包名的前几个为固定名称, 如果是网站的话,采用网站的域名的反写,如果域名还没有确定的话,采用公司固定的几个名称。如:net.vschool

2、在包名的接下来一个单词为模块的名称。如:用户模块,包名为net.vschool.user

3、关于模块的访问 *** 作,采用分层形式,一般分为:

Dao层 *** 作:一般定义在net.vschool.xxx.dao 中,其中xxx为模块名称。

Service层 *** 作:一般定义在net.vschool.xxx.servie中。

web层 *** 作:一般定义在 net.vschool.xxx.action中。

如下关于用户模块的例子:

net.vschool.user。

net.vschool.user.dao。

net.vschool.user.action。

net.vschool.user.service。

参考资料来源:百度百科-驼峰命名法

骆驼式命名法又叫驼峰式命名法,是电脑程式编写时的一套命名规则。其指混合使用大小写字母来构成变量和函数的名字:第一个单词以小写字母开始,从第二个单词开始以后的每个单词的首字母都采用大写字母。

驼峰命名

骆驼式命名法一词来自Perl语言中普遍使用的大小写混合格式,而LarryWall等人所著的《ProgrammingPerl》的封面图片正是一匹骆驼。

骆驼式命名法的命名规则可以看作是一种惯例,并不是绝对或强制,其目的是增加识别和可读性。

骆驼式命名法最主要运用在两个方面,一是新的函数库和MicrosoftWindows,二是在许多旧的程序和UNIX。

手敲的,给个辛苦分吧。。。

package test

import java.util.ArrayList

import java.util.List

public class Test {

public static void main(String[] args) {

//testing for data base column-key to java field

String[] dbKeys = {"id", "user_age", "user_addr_"}

Test t = new Test()

t.convertToJava(dbKeys)

System.out.println("-----------------------------------")

//testing for Java field to data base column-key

String javaFieldNames[] = {"id","userAge","userHomeAddr"}

t.getDBKey(javaFieldNames)

}

/*

 * Java field to data base column-key

 */

private void getDBKey(String... javaFieldNames){

if(javaFieldNames != null && javaFieldNames.length > 0){

for(String name : javaFieldNames){

StringBuffer buffer = new StringBuffer()

char[] array = name.toCharArray()

List<Integer> insertIndexes = new ArrayList<>()

for(int i=0i<array.lengthi++){

Character c = array[i]

if(i != 0 && Character.isUpperCase(c)){

insertIndexes.add(i)

}

}

if(insertIndexes.size() > 0){

int flag = 0

for(int j=0j<insertIndexes.size()j++){

String word = toLowercase4FirstLetter(name.substring(flag, insertIndexes.get(j)))

buffer.append(word).append("_")

flag = insertIndexes.get(j)

}

String last = toLowercase4FirstLetter(name.substring(flag))

buffer.append(last)

System.out.println(buffer.toString())

} else {

System.out.println(name)

}

}

}

}

private String toLowercase4FirstLetter(String word){

if(word != null && word.length() > 0){

String firstLetter = word.substring(0,1)

String others = word.substring(1)

return firstLetter.toLowerCase() + others

}else{

return ""

}

}

/*

 * data base column-key to java field

 */

public void convertToJava(String... dbKeys) {

if(dbKeys != null && dbKeys.length > 0){

for(String key : dbKeys){

String[] words = key.split("_")

String result = toUppercase4FirstLetter(words)

System.out.println(result)

}

}

}

private String toUppercase4FirstLetter(String... words){

StringBuffer buffer = new StringBuffer()

if(words != null && words.length > 0){

for(int i=0i<words.lengthi++){

String word = words[i]

String firstLetter = word.substring(0, 1)

String others = word.substring(1)

String upperLetter = null

if(i != 0){

upperLetter = firstLetter.toUpperCase()

} else {

upperLetter = firstLetter

}

buffer.append(upperLetter).append(others)

}

return buffer.toString()

}

return ""

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6828667.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存