编程错题本——解析OpenWnn(4)风格问题

最后我们来讲一下代码风格的问题

1. 魔法数字,也有叫数字常量的

     总之,就是一个数字戳在那,谁也不知道这是什么意思, 这种代码还会导致一个问题就是代码的值发生变化的时候,无法确保所有的相关代码都得到修改。

     OpenWnn里这种情况太多了,就不一一列举了。

    同样的字符串常量也是一个问题。

    对于这种情况,定义成常量并不是解决问题的唯一办法,还有很多更好的办法,比如,拆分类。

2. 静态表

   Java代码中的静态块static{}可以让一部分固定的赋值代码提前执行,但是如果用不好这个特性,反而这个会成为代码的问题。

   RomKan代码中的romkanTable ,表示输入的英文字母是如何转换成为假名的。

   但是代码这么书写之后,就挤在一起了。而且相关代码特别的长。

   如果这些转换代码都放在xml中,启动的时候加载一下就好懂的多了。并且,Java对于代码的长度是有限制的。如果想要用同样的方法书写拼音转换成汉字那连编译都无法通过。

    浊点表,半浊点表,键盘切换表都有同样的问题。

3.Unicode代码

   在DefaultSoftKeyboard中有很多以Unicode书写的代码"\u3044",谁知道是什么意思呢?

   对于这些Unicode可以采用xml文件存储为真实的字符,以便于理解。

4.空的catch

    catch一定不要为空,如果必须为空那就写上注释。在catch中只打印Log的视同为空处理。

    这个在OpenWnn中也是比比皆是。

  

posted @ 2012-11-30 13:05  史蒂芬.王  阅读(296)  评论(0编辑  收藏  举报