2008-05-13
让人头疼的新手
关键字: 说说工作
刚进公司没多久时,领导让我带两个新人(07年7月份毕业的)。他们两个是试用期3个月都过了之后才参与到我们现在的项目中来的,算起来他们也工作了快一年了,可是今天无意中修改一个他们写过的一个类文件时,看到他们写的一些代码,让我又好气又好笑。可能也是我以前只注意给他们测试功能了,没怎么注意代码方面的问题吧!
晒晒他们的部分代码!
我现在也体会到当初我找工作的时候为什么那么难了,同时也提醒一下即将毕业的朋友,想找到不错的工作,你的工作态度确实得端正!
以前没带过新人,大家也介绍一下,带新人的经验吧!
我需要说明一下,我发贴的目的是想提醒一下临近毕业的朋友,不是公司不需要应届毕业生,应届毕业生有优点也有缺点。但是你进入公司以后,自己的发展和进步还是要靠自己的努力。工作了半年还能写出这样令人佩服的代码,那就只能是你自己的问题了,当然也有我自己的责任,毕竟是我带他们。
有则改之,无则加勉,别无他意,仅此而已!
晒晒他们的部分代码!
/**
* 查询方案金额总和
*
* @param lottype
* Long
* @return double
*/
public Double getsummation(Long lottype)
{
double sum = 0.00;
List ls = null;
String sql = "";
if (sql != null)
{
sql = " select sum(amount) from OccurProj a where a.lottype = '" + lottype + "' ";
}
ls = find(sql);
if (ls != null && ls.isEmpty())
{
for (int i = 0; i < ls.size(); i++)
{
OccurProj occurproj = (OccurProj) ls.get(i);
sum = sum + occurproj.getAmount();
}
}
return sum;
}
/**
* 根据主键查询明细信息
*
* @param occurproj
* OccurProj
* @return String
*/
public List queryById(Long id)
{
String sql = "";
if (sql != null)
{
sql = " from OccurProj a where a.id=" + id;
}
return translateCode2Str(find(sql));
}
/**
* 参数查询
*
* @param occurproj
* OccurProj
* @param lottype
* Long
* @return List
*/
public List queryByPara(String username, Long lottype)
{
String sql = "";
if (username != null && username.length() > 0)
{
sql += " and a.username like ? ";
}
if (sql.length() > 1)
{
sql = " from OccurProj a where 1=1 and a.lottype = '" + lottype + "' " + sql;
} else
sql = " from OccurProj where lottype = '" + lottype + "' ";
return translateCode2Str(find(sql));
}
我现在也体会到当初我找工作的时候为什么那么难了,同时也提醒一下即将毕业的朋友,想找到不错的工作,你的工作态度确实得端正!
以前没带过新人,大家也介绍一下,带新人的经验吧!
我需要说明一下,我发贴的目的是想提醒一下临近毕业的朋友,不是公司不需要应届毕业生,应届毕业生有优点也有缺点。但是你进入公司以后,自己的发展和进步还是要靠自己的努力。工作了半年还能写出这样令人佩服的代码,那就只能是你自己的问题了,当然也有我自己的责任,毕竟是我带他们。
有则改之,无则加勉,别无他意,仅此而已!
评论
shishi11
2008-06-25
我们也遇到过这样的问题,想想解决的办法:
一,起步的时候,一定要有模板,当然如果能采用如继承的方式更好,像SS3那样,SCUD都继承。当然,于他们的提高有限,但可以提高代码质量,也有利于开发。
二,这也是经验问题,比如“魔术数字”问题,新手不太明白,得让他知道好处。LJ的例子里也有,为什么不写成'xxx='+id的方式,因为有种可能性被SQL注入。得让新手明白为什么。当然这个工作应该新手自己完成,但本着带新人的原则,应该适当指导一下。
三,工具,人都不可靠,机器好些。我最近在研究checkstyle,由机器保证代码。
四,代码生成,也见过类似的东东,虽然有些灵活性上的问题,但一般普通地方还是可以的,新手就做点简单的工作吧。
当然,我碰到过超XX的,让她看一下别人的代码写自己的,结果连包名类名都一样,把别人的给覆盖了,她自己的过了,别人不灵了还不知为什么。
一,起步的时候,一定要有模板,当然如果能采用如继承的方式更好,像SS3那样,SCUD都继承。当然,于他们的提高有限,但可以提高代码质量,也有利于开发。
二,这也是经验问题,比如“魔术数字”问题,新手不太明白,得让他知道好处。LJ的例子里也有,为什么不写成'xxx='+id的方式,因为有种可能性被SQL注入。得让新手明白为什么。当然这个工作应该新手自己完成,但本着带新人的原则,应该适当指导一下。
三,工具,人都不可靠,机器好些。我最近在研究checkstyle,由机器保证代码。
四,代码生成,也见过类似的东东,虽然有些灵活性上的问题,但一般普通地方还是可以的,新手就做点简单的工作吧。
当然,我碰到过超XX的,让她看一下别人的代码写自己的,结果连包名类名都一样,把别人的给覆盖了,她自己的过了,别人不灵了还不知为什么。
shishi11
2008-06-25
我们也遇到过这样的问题,想想解决的办法:
一,起步的时候,一定要有模板,当然如果能采用如继承的方式更好,像SS3那样,SCUD都继承。当然,于他们的提高有限,但可以提高代码质量,也有利于开发。
二,这也是经验问题,比如“魔术数字”问题,新手不太明白,得让他知道好处。LJ的例子里也有,为什么不写成'xxx='+id的方式,因为有种可能性被SQL注入。得让新手明白为什么。当然这个工作应该新手自己完成,但本着带新人的原则,应该适当指导一下。
三,工具,人都不可靠,机器好些。我最近在研究checkstyle,由机器保证代码。
四,代码生成,也见过类似的东东,虽然有些灵活性上的问题,但一般普通地方还是可以的,新手就做点简单的工作吧。
当然,我碰到过超XX的,让她看一下别人的代码写自己的,结果连包名类名都一样,把别人的给覆盖了,她自己的过了,别人不灵了还不知为什么。
一,起步的时候,一定要有模板,当然如果能采用如继承的方式更好,像SS3那样,SCUD都继承。当然,于他们的提高有限,但可以提高代码质量,也有利于开发。
二,这也是经验问题,比如“魔术数字”问题,新手不太明白,得让他知道好处。LJ的例子里也有,为什么不写成'xxx='+id的方式,因为有种可能性被SQL注入。得让新手明白为什么。当然这个工作应该新手自己完成,但本着带新人的原则,应该适当指导一下。
三,工具,人都不可靠,机器好些。我最近在研究checkstyle,由机器保证代码。
四,代码生成,也见过类似的东东,虽然有些灵活性上的问题,但一般普通地方还是可以的,新手就做点简单的工作吧。
当然,我碰到过超XX的,让她看一下别人的代码写自己的,结果连包名类名都一样,把别人的给覆盖了,她自己的过了,别人不灵了还不知为什么。
open2ye
2008-06-25
mylifestyle1225 写道
armorking 写道
mylifestyle1225 写道
不过还是谢谢指点,我会改成英文的.然后把名字改得尽量意义明确些.
如果不是对美外包的项目的话,为什么非要用英语写注释
恩,是不是对美外包的,这是个金融报文的解析和生成,所以自然没什么SQL,JDBC,SPRING等东东了.
有道理,注释的作用本来就是为了让人看懂.
你觉得以下怎么样?
// وقع الكتاب المقدس
jian'shang
2008-06-07
我觉得那两个人应该是受了误导,可能在试用期间看了公司的“规范代码”,他也许是想验证传入的参数,但又没加异常处理,呵呵,这事只能怨公司
sanfeng_chow
2008-05-30
终于看完了。受益颇深。
07年毕业的人还不少哦。呵呵。
07年毕业的人还不少哦。呵呵。
dongle2001
2008-05-27
我也经常写这样的代码。
工作两年多了,最近才发现,这么写法真的是害人害己。
工作两年多了,最近才发现,这么写法真的是害人害己。
CherryRemind
2008-05-23
我们TEAM里面也这样的同事, 受不了, 尽做些不必要的判断.
<代码大全2>一本介绍CODE STYLE的书, 对新手很有帮助
<代码大全2>一本介绍CODE STYLE的书, 对新手很有帮助
tjxjj
2008-05-20
唉.看了下,自己代码也没新手高多少
只不过不会出现逻辑错误而已
只不过不会出现逻辑错误而已
muffings
2008-05-20
daoger 写道
刚进公司没多久时,领导让我带两个新人(07年7月份毕业的)。他们两个是试用期3个月都过了之后才参与到我们现在的项目中来的,算起来他们也工作了快一年了,可是今天无意中修改一个他们写过的一个类文件时,看到他们写的一些代码,让我又好气又好笑。可能也是我以前只注意给他们测试功能了,没怎么注意代码方面的问题吧!
晒晒他们的部分代码!
我现在也体会到当初我找工作的时候为什么那么难了,同时也提醒一下即将毕业的朋友,想找到不错的工作,你的工作态度确实得端正!
以前没带过新人,大家也介绍一下,带新人的经验吧!
我需要说明一下,我发贴的目的是想提醒一下临近毕业的朋友,不是公司不需要应届毕业生,应届毕业生有优点也有缺点。但是你进入公司以后,自己的发展和进步还是要靠自己的努力。工作了半年还能写出这样令人佩服的代码,那就只能是你自己的问题了,当然也有我自己的责任,毕竟是我带他们。
有则改之,无则加勉,别无他意,仅此而已!
晒晒他们的部分代码!
我现在也体会到当初我找工作的时候为什么那么难了,同时也提醒一下即将毕业的朋友,想找到不错的工作,你的工作态度确实得端正!
以前没带过新人,大家也介绍一下,带新人的经验吧!
我需要说明一下,我发贴的目的是想提醒一下临近毕业的朋友,不是公司不需要应届毕业生,应届毕业生有优点也有缺点。但是你进入公司以后,自己的发展和进步还是要靠自己的努力。工作了半年还能写出这样令人佩服的代码,那就只能是你自己的问题了,当然也有我自己的责任,毕竟是我带他们。
有则改之,无则加勉,别无他意,仅此而已!
只能说明两点:
1. 你们没有能力培养起程序员
2. 你们的项目管理混乱
在我们项目组,新人的招收是很严格的,但是招收进来, 就会给予很多的培养和指导。 一个新人,前几个月的试用,会有专人给予全方位的指导,如果有代码风格,代码质量的问题,很快就能够发现,并给他指出来, 新人会很快能够改进。 不至于会有人说, 某某写的代码有问题一年以后才发现。
难道你们没有code review 机制? 我们的项目中,每一行代码的提交,都会有code review, 这种可笑的代码质量问题很难在cvs 代码中找到。 每个project的build 出去以后会做design 的review, 提出design的改进方法, review 的过程, 也是对整个团队提高的过程。
建议楼主也从自己项目组的管理上找找问题。
bjfeel
2008-05-20
都够浮躁的;不过写这样代码的人本身态度有点问题,不只是能力的问题。
只是新手的话没必要BS的,都是从这个阶段过来的(其实我现在还是新手,做2年java了,才发现刚入门。。这里很多人也算不上多老手)
只是新手的话没必要BS的,都是从这个阶段过来的(其实我现在还是新手,做2年java了,才发现刚入门。。这里很多人也算不上多老手)
hotjava
2008-05-20
我最后一次回这个帖子,我并不是什么高手,白干几年,除了加班把身体熬差了,没什么大的收获。我只是希望刚刚工作或者是工作n久都不知道怎么写代码的人,好好看看,代码大全,重构这样的书。也算是自己的基本功把。
就像一个网球运动员,如果弯腰低头去拣求,必然观众觉得他不是高手,不专业。
至少应该拿拍子一抄,就把球弄起来了,这样才帅嘛。
就像一个网球运动员,如果弯腰低头去拣求,必然观众觉得他不是高手,不专业。
至少应该拿拍子一抄,就把球弄起来了,这样才帅嘛。
malphi
2008-05-20
不错,至少知道判断空。。。
javaxy
2008-05-20
重点的是这种人怎么找到工作的!
programming
2008-05-20
String sql = "";
if (sql != null)
{
sql = " from OccurProj a where a.id=" + id;
}
String sql = "";
if (username != null && username.length() > 0)
{
sql += " and a.username like ? ";
}
if (sql.length() > 1)
{
sql = " from OccurProj a where 1=1 and a.lottype = '" + lottype + "' " + sql;
} else
sql = " from OccurProj where lottype = '" + lottype + "' ";
工作有一年,怎么还会这样的代码,有些东东,String sql = "";
if (sql != null)
{
sql = " from OccurProj a where a.id=" + id;
}
他们头脑里面怎么想的,是逻辑不懂呢,还是没有认真去学.
if (sql != null)
{
sql = " from OccurProj a where a.id=" + id;
}
String sql = "";
if (username != null && username.length() > 0)
{
sql += " and a.username like ? ";
}
if (sql.length() > 1)
{
sql = " from OccurProj a where 1=1 and a.lottype = '" + lottype + "' " + sql;
} else
sql = " from OccurProj where lottype = '" + lottype + "' ";
工作有一年,怎么还会这样的代码,有些东东,String sql = "";
if (sql != null)
{
sql = " from OccurProj a where a.id=" + id;
}
他们头脑里面怎么想的,是逻辑不懂呢,还是没有认真去学.
sutra
2008-05-18
抛出异常的爱 写道
ddbird 写道
第3段 sql的拼装能倒着写也蛮强的,肯定copy过来以后看都没看,就看了Eclipse报的编译错误,改了变量名字,就算完事了。
很多人都这么干活,不知道他们的脑子长的是什么。。。。
完成任务呢。
murainwood
2008-05-17
mylifestyle1225 写道
回LS的,拿出来晒就是为了请老手指点的.
有事说事,没事少插嘴,不说话没人把你当哑巴.每个人都有菜鸟的过程,你也不是这么过来的么?你是一个新人的时候有胆量晒代码让人指点吗?
典型的中国人的挖苦讽刺,自持清高的心理,不知道你自己达到了什么境界.
是不是这么说一句,很有满足感?那就成就你的满足感吧.但是我到了你这个年龄,肯定能超过你这类货色.
有事说事,没事少插嘴,不说话没人把你当哑巴.每个人都有菜鸟的过程,你也不是这么过来的么?你是一个新人的时候有胆量晒代码让人指点吗?
典型的中国人的挖苦讽刺,自持清高的心理,不知道你自己达到了什么境界.
是不是这么说一句,很有满足感?那就成就你的满足感吧.但是我到了你这个年龄,肯定能超过你这类货色.
小孩子说大话了不是?
Unmi
2008-05-17
还是不错的,我看过写几年代码都出现这种问题,甚至是方法名首字母大写的问题
hunter006
2008-05-17
哈哈 没必要强调新手。有的老手也犯这样的错误,如果可能加大代码审查力度吧,这些小错误如果有可能可以通过代码审查避免。
seekgirl
2008-05-17
armorking 写道
代码1问题多多
这里jdk已经有BigDecimal.ZERO,你这是浪费内存。
private static BigDecimal BIGDECIMAL_ZERO = new BigDecimal("0");
/**
* 查询方案金额总和
*
* @param lottype
* Long
* @return BigDecimal
*/
方法名不骆驼
public BigDecimal getSummary(Long lottype)
{
if (lottype == null
){
return BIGDECIMAL_ZERO;
}
String sql = sql = " select sum(amount) from OccurProj a where a.lottype = " + lottype;
List ls = find(sql);
&&改为||
if (ls == null && ls.size() == 0)
{
return BIGDECIMAL_ZERO;
}
OccurProj occurproj = (OccurProj) ls.get(0);
return occurproj.getAmount();
}
这里jdk已经有BigDecimal.ZERO,你这是浪费内存。
private static BigDecimal BIGDECIMAL_ZERO = new BigDecimal("0");
/**
* 查询方案金额总和
*
* @param lottype
* Long
* @return BigDecimal
*/
方法名不骆驼
public BigDecimal getSummary(Long lottype)
{
if (lottype == null
){
return BIGDECIMAL_ZERO;
}
String sql = sql = " select sum(amount) from OccurProj a where a.lottype = " + lottype;
List ls = find(sql);
&&改为||
if (ls == null && ls.size() == 0)
{
return BIGDECIMAL_ZERO;
}
OccurProj occurproj = (OccurProj) ls.get(0);
return occurproj.getAmount();
}
你别又误导新人哦
zhengshina5
2008-05-17
我靠,说了这么多都没说到正点上
你管他代码正确不正确的。
先满足了功能再说,功能满足了对错再谈,
功能都没满足那没用,功能满足了代码错误的话,能用就行,
如果想更好的发展就修改下不就可以了被
这样的代码和公司有很大的关系,不只能说是个人的问题。
你怎么样评判别人的态度就不好了。
这是不一定的,
你管他代码正确不正确的。
先满足了功能再说,功能满足了对错再谈,
功能都没满足那没用,功能满足了代码错误的话,能用就行,
如果想更好的发展就修改下不就可以了被
这样的代码和公司有很大的关系,不只能说是个人的问题。
你怎么样评判别人的态度就不好了。
这是不一定的,
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 183727 次
- 性别:

- 来自: 山东济南

- 详细资料
搜索本博客
我的相册
image007
共 105 张
共 105 张
最近加入圈子
最新评论
-
一个女生的爱情观
buaawhl 写道swflora 写道为啥这样的热点帖我却看不下去了。 是老了 ...
-- by 小虫1313 -
一个女生的爱情观
swflora 写道为啥这样的热点帖我却看不下去了。 是老了还是麻木了? 成熟 ...
-- by buaawhl -
一个女生的爱情观
为啥这样的热点帖我却看不下去了。 是老了还是麻木了?
-- by swflora -
一个女生的爱情观
weiweichen1985 写道都知道爱情应该是白的,毫无瑕疵。。。 但是在残 ...
-- by daoger -
一个女生的爱情观
都知道爱情应该是白的,毫无瑕疵。。。 但是在残酷的现实面前,你我都选择了面对实际 ...
-- by weiweichen1985






评论排行榜