论坛首页 Java企业应用论坛

实践中的重构11_茴香豆的多种写法

浏览 7164 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-12-18  
pop1030123 写道
这个类还有什么用处?还可以用来在字符编码间转码吧?

算是一个简单的编码,和base64相似,但是没有base64紧凑。
0 请登录后投票
   发表时间:2010-12-18  
三人行,必有吾师,总能在别人身上学到益处
0 请登录后投票
   发表时间:2010-12-18  
本来就是一个茴字怎么写的,纯技术的讨论。

不过我补充一句:不管是可读性,和高性能都是有目的的,如果你所谓目的的前提不存在,所作的一切都是枉然。

就像我花5元要碗牛肉面,你给我满汉全席,我不会不好意思,但我不会多给你超过5元钱。
0 请登录后投票
   发表时间:2010-12-18  
这个代码存在一个潜在的bug。
byte[] data = str.getBytes(); 

这行代码。String的getBytes方法是和当前java程序的默认字符集相关的。
我想编码的东西最终还是要还原的,如果还原时的字符集和编码时的不同,则会产生乱码。
0 请登录后投票
   发表时间:2010-12-19  
gdpglc 写道
这个代码存在一个潜在的bug。
byte[] data = str.getBytes(); 

这行代码。String的getBytes方法是和当前java程序的默认字符集相关的。
我想编码的东西最终还是要还原的,如果还原时的字符集和编码时的不同,则会产生乱码。


没错,这个是一个潜在的bug,这个是在早期架构的时候,目光有局限性。
一直以来,所有部署的机器都是同一个默认字符集,所以用部署的方法弥补了这个问题。

系统中所有编码相关的地方基本上都有这个问题。
0 请登录后投票
   发表时间:2010-12-20  
switch 这个方法用的实在是太丑陋了,换成一个hashmap,每次传进一个key取value多好啊
0 请登录后投票
   发表时间:2010-12-20  
写的真是不错,这几天正好也需要用到。
0 请登录后投票
   发表时间:2010-12-20  
peak 写道
switch 这个方法用的实在是太丑陋了,换成一个hashmap,每次传进一个key取value多好啊


hashMap性能不好。用hashMap还不如用switch
0 请登录后投票
   发表时间:2010-12-24  
gdpglc 写道
"0123456789ABCDEF".charAt(left)
地方还可以优化
char[] chs={'0','1'........'F'}
chs[left]

不过我一定不会这么用。我宁可用Character.forDigit方法,这样的代码可读性太差了。这么在乎性能的理由是什么?你在写系统软件吗?

把乘2写成<<1,唉。我觉得真是精力过剩了..........

这哪能叫重构.... 整个一个反重构




乘2写成<<1  其实我也经常这样写,如果追求性能的话呵呵,但是就是可读性差很多,可能需要注释下
0 请登录后投票
   发表时间:2010-12-28  
用hashmap代替数组,无论是代码可读性还是效率都比数组高
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics