|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
其实产生见解的过程就是训练自己发现问题,分析问题的能力。根据以上的认识我想谈下传统的学习与通过视频独立学习的优缺点:比来碰到一种需求场景:利用一个类封装Java服务端前往的(前往形态码,前往信息字符串)信息,好比(0,操纵乐成)、(1,新增失利)、(2,查询失利)等形态。作为一枚Java潘浚蚁氲秸庵殖A啃畔⒆詈眯吹揭桓龅ザ赖睦嗬锩妫⑶矣publicstaticfinal的情势润色,为了将前往码code和前往信息msg二者绑定起来能够供应一个公用办法。我做了以下两个勉力,一是将两个前往码和前往信息的变量名写的类似,看代码的人一看就晓得两个变量的寄义和干系;第二个则供应一个依据前往码取得对应的前往信息的办法。写完后自我感到优秀,感到满意了需求非常完整,因而呈现了以下的2B代码:
列举形态码和形态信息的2B写法
CommunicateCodeOne.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
packagenet.crazyant;
/**
*
*前往给客户真个形态码和形态信息
*
*@authorcrazyant.net
*
*/
publicclassCommunicateCodeOne{
/**
*形态码:操纵乐成
*/
publicstaticfinalintOPERATION_SUCCESS_CODE=0;
/**
*形态信息:操纵乐成
*/
publicstaticfinalStringOPERATION_SUCCESS_MSG="操纵乐成";
/**
*形态码:新增失利
*/
publicstaticfinalintADD_DATA_ERROR_CODE=1;
/**
*形态信息:新增失利
*/
publicstaticfinalStringADD_DATA_ERROR_MSG="新增失利";
/**
*形态码:查询失利
*/
publicstaticfinalintQUERY_DATA_ERROR_CODE=2;
/**
*形态信息:查询失利
*/
publicstaticfinalStringQUERY_DATA_ERROR_MSG="查询失利";
/**
*依据形态码猎取形态信息
*
*@paramcommunicateCode
*形态码
*@return形态信息字符串
*/
publicstaticStringgetMsg(intcommunicateCode){
StringreturnMsg=null;
switch(communicateCode){
caseOPERATION_SUCCESS_CODE:
//操纵乐成
returnMsg=OPERATION_SUCCESS_MSG;
break;
caseADD_DATA_ERROR_CODE:
//新增失利
returnMsg=ADD_DATA_ERROR_MSG;
break;
caseQUERY_DATA_ERROR_CODE:
//查询失利
returnMsg=QUERY_DATA_ERROR_MSG;
break;
}
returnreturnMsg;
}
}
这类写法存在的成绩有两个:
- 假如必要新增形态码和形态信息,必要在getMsg办法中新增switch的case分支;
- 用户挪用的时分,必要将形态码传送给getMsg办法,有传送对应不上的风险;
进修老是产生在不经意间,在看过其别人的一段代码后,才发明本人写的有多烂,有这么一种艺术的写法:
列举形态码和形态信息的艺术写法
CommunicateCodeTwo.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
packagenet.crazyant;
/**
*
*前往给客户真个形态码和形态信息
*
*@authorcrazyant.net
*
*/
publicenumCommunicateCodeTwo{
OPERATION_SUCCESS(0,"操纵乐成"),
ADD_DATA_ERROR(1,"新增失利"),
QUERY_DATA_ERROR(2,"查询失利");
/**
*前往形态码
*/
privateintstatusCode;
/**
*前往形态信息
*/
privateStringstatusMsg;
CommunicateCodeTwo(intstatusCode,StringstatusMsg){
this.statusCode=statusCode;
this.statusMsg=statusMsg;
}
/**
*@returnthestatusCode
*/
publicintgetStatusCode(){
returnstatusCode;
}
/**
*@returnthestatusMsg
*/
publicStringgetStatusMsg(){
returnstatusMsg;
}
}
再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。 |
|