论坛首页 Java企业应用论坛

老生常谈之如何写好的代码

浏览 19837 次
精华帖 (3) :: 良好帖 (15) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-11-05  
对,我也见过用汉字做名字的,好酷。
不过汉字就和编码有关系了。同样,不支持用汉字来写代码。用英语,这样你的代码让哪国人看都看得懂。
0 请登录后投票
   发表时间:2010-11-05  
第三条我看见很多次了。。有时候是这么个原因。
A a=new A();
if(condition){
  a=getAFrom();
}else{
  a=getAFrom();
}
在eclipse里面或者装了插件的地方,如果第一行只写
A a;
他会给个警告大概就是要初始化变量之类的,其实很多时候就写成A a = null;就可以了,但是很多人会直接new一个
0 请登录后投票
   发表时间:2010-11-05  
fool_leave 写道
dir_murong 写道
Zahir 写道
skzr.org 写道
Thanks!

总结的非常棒啊
自己的一点想法,打算尝试下:
对于命名一直在纠结中,取名太费时间了
A 通用命名规则大家都差不多
B 从Action到用户这一端,直接使用汉语拼音命名!
C 用户的数据表,表名和字段也用汉语拼音

这样客户和英语不好的都可以看懂。



public class YongHuGuanLiAction {

    public String tianJiaYongHu() {
      //....
    }

    public String shanChuYongHu() {
     //....
    }

}



这样的代码你真的能忍?

哈哈  我是受不了



如果程序员连简单的单词都不知道,那还是去种菜吧。做程序员不懂英语,以后的路会很苦。
用拼音做名字,实际上很屎


我以前有个同事,英语不行(我也一般)。然后有个留言本模块的字段,叫‘标题’,一般人就起个名字叫'title'对吧,他不知道,然后查字典,起名叫’superscription‘,为这事我们还辩论了一番,后来也是查字典才知道,这单词中文意思也是该死的‘标题’。
这种事情那同事做了不少,让我印象深刻,其他组员有时候也说这些玩意儿究竟是啥意思。

也许他以后会很NB,但是在和你工作的时间段,他可能就是很屎。
用拼音是很怪,但是后来我的方法是让他加注释,几个字就行。总比搞些生僻英文强
0 请登录后投票
   发表时间:2010-11-05   最后修改:2010-11-05
paranoid945 写道

很多情况是很搞笑的,比如有好些人特意不写注释,为的就是让这块代码只有自己懂,然后别人搞不定只能找他。


太高估他们的记忆了,到时候其实他们自己也看不懂。
自己的烂摊子基本都还要自己来收拾,只是这种事情他本人也不好意思向别人抱怨什么。

“免死金牌”这类情况即使存在,也是很少见的。
更多的情况是,他们其实压根不知道,程序应该写成什么样。

高手和入门者的主要区别不在了解语法的多少,而是在对于惯用法“idioms”,知道得多少。
要写好代码,态度只是一小部分,大多数是水平和能力的问题。


楼上 写道

我以前有个同事,然后有个留言本模块的字段,叫‘标题’,一般人就起个名字叫'title'对吧,他不知道,然后查字典,起名叫’superscription‘,其他组员有时候也说这些玩意儿究竟是啥意思。


这就是个惯用法的例子。惯用法不仅是命名,更多是在代码逻辑中,虽然也能达到功能,但一看就不太讲究。

举个例子:
  很多人喜欢写 if (userList.size()==0){
                  ...
               }
  惯用法应该写成
              if (userList.isEmpty()){
                  ...
               }
0 请登录后投票
   发表时间:2010-11-05  
tuti 写道
paranoid945 写道

很多情况是很搞笑的,比如有好些人特意不写注释,为的就是让这块代码只有自己懂,然后别人搞不定只能找他。


太高估他们的记忆了,到时候其实他们自己也看不懂。
自己的烂摊子基本都还要自己来收拾,只是这种事情他本人也不好意思向别人抱怨什么。

“免死金牌”这类情况即使存在,也是很少见的。
更多的情况是,他们其实压根不知道,程序应该写成什么样。

高手和入门者的主要区别不在了解语法的多少,而是在对于惯用法“idioms”,知道得多少。
要写好代码,态度只是一小部分,大多数是水平和能力的问题。


楼上 写道

我以前有个同事,然后有个留言本模块的字段,叫‘标题’,一般人就起个名字叫'title'对吧,他不知道,然后查字典,起名叫’superscription‘,其他组员有时候也说这些玩意儿究竟是啥意思。


这就是个惯用法的例子。惯用法不仅是命名,更多是在代码逻辑中,虽然也能达到功能,但一看就不太讲究。

举个例子:
  很多人喜欢写 if (userList.size()==0){
                  ...
               }
  惯用法应该写成
              if (userList.isEmpty()){
                  ...
               }

这个例子的问题我一直在犯,刚注意到。。。
0 请登录后投票
   发表时间:2010-11-05  
   如何确保项目团队写好代码,如何让自己的代码提高,以下步骤可以参考:
1. 代码格式化检查文件(或者说编程规范,但不要是文档型的,可以是checkstyle,可以是PMD)
2. 明确的结构和明确的第三方包依赖(同样是工具类,有的人用spring,有的人用apache,有的人干脆自己写),避免项目组的歧义。
3. 消除代码中所有的警告(包括eclipse的警告),这是代码质量变好的基础。
4. 可自动检查的代码检查工具(包括Jdepend, PMD, metric, findbugs),并修复检查出来的问题。
5. 不定期的人为抽查及比较说明。
0 请登录后投票
   发表时间:2010-11-05  
很多人喜欢写 if (userList.size()==0){
                  ...
               }
  惯用法应该写成
              if (userList.isEmpty()){
                  ...
               }


意思很大吗?
源码:
public synchronized boolean isEmpty() {
return elementCount == 0;
    }
难道不同吗?
0 请登录后投票
   发表时间:2010-11-05  
对楼主的看法深有同感。公司的一个项目,一份代码存在四五份的情况到处都是,很多代码看了半天才发现根本不会使用。原来,这几位写代码的仁兄都是这样做的:发现A需要某个功能,发现这在B不是写过了吗,于是CTRL+C,CTRL+V,再改吧改吧。甚至一个类里面有两个功能相似度达到99%的方法。这样的代码就是一个噩梦。

最近对这个项目进行重构,其中一个子项目重构完之后代码从9000行变成不到3500行。
0 请登录后投票
   发表时间:2010-11-05  
垃圾人在垃圾公司,谁叫你生在中国,认命吧。
0 请登录后投票
   发表时间:2010-11-05  
yuyue618 写道
很多人喜欢写 if (userList.size()==0){
                  ...
               }
  惯用法应该写成
              if (userList.isEmpty()){
                  ...
               }


意思很大吗?
源码:
public synchronized boolean isEmpty() {
return elementCount == 0;
    }
难道不同吗?


程序要朗读出来,你就会发现不同在哪里了。
0 请登录后投票
论坛首页 Java企业应用版

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