论坛首页 招聘求职论坛

让人头疼的新手

浏览 51192 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间: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));
	}


我现在也体会到当初我找工作的时候为什么那么难了,同时也提醒一下即将毕业的朋友,想找到不错的工作,你的工作态度确实得端正!

以前没带过新人,大家也介绍一下,带新人的经验吧!


我需要说明一下,我发贴的目的是想提醒一下临近毕业的朋友,不是公司不需要应届毕业生,应届毕业生有优点也有缺点。但是你进入公司以后,自己的发展和进步还是要靠自己的努力。工作了半年还能写出这样令人佩服的代码,那就只能是你自己的问题了,当然也有我自己的责任,毕竟是我带他们。

有则改之,无则加勉,别无他意,仅此而已!
   发表时间:2008-05-13  
#         String sql = ""; 
#         if (sql != null) 

哈哈哈哈哈哈哈……
0 请登录后投票
   发表时间:2008-05-13  
刑天战士 写道
#         String sql = ""; 
#         if (sql != null) 

哈哈哈哈哈哈哈……

lottype !=null

if (username.length() > 1) 

这种代码改时间长了自然会明白他想写什么
不过很恶心用
sql = "XXXXX"+id
或这类的其它写法。
0 请登录后投票
   发表时间:2008-05-13  
抛出异常的爱 写道
刑天战士 写道
#         String sql = ""; 
#         if (sql != null) 

哈哈哈哈哈哈哈……

lottype !=null

if (username.length() > 1) 

这种代码改时间长了自然会明白他想写什么
不过很恶心用
sql = "XXXXX"+id
或这类的其它写法。


不是很懂java,想向抛抛请教几个问题:
1. sql = "XXXX" + id;为什么恶心?
是怕SQL注入还是String相加时候引起的性能问题?

2. if (username.length() > 1)
这有不对吗?
0 请登录后投票
   发表时间:2008-05-13  
if (ls != null && ls.isEmpty())  
他想干嘛?
0 请登录后投票
   发表时间:2008-05-13  
抛出异常的爱 写道
刑天战士 写道
# String sql = "";
# if (sql != null)

哈哈哈哈哈哈哈……

lottype !=null

if (username.length() > 1)

这种代码改时间长了自然会明白他想写什么
不过很恶心用
sql = "XXXXX"+id
或这类的其它写法。

说句实在话,刚开始学jdbc的时候我也是sql = "xxxx" + id;这种写法,书上看的,没人交。 但if(sql != null) 这种错不会犯。

教新来的就是要他们去看别人写的代码,也别发脾气,对他们要求也不要太高。平时都检查一下他们的代码,慢慢指导。 如果你自己觉得这个人可培养就好好培养,如果觉得不爽就推荐他去别的项目组。免得双方看的都不爽。

 

0 请登录后投票
   发表时间:2008-05-13  
wolfbrood 写道

抛出异常的爱 写道

刑天战士 写道
#         String sql = ""; 
#         if (sql != null) 

哈哈哈哈哈哈哈&hellip;&hellip;


lottype !=null

if (username.length() > 1) 

这种代码改时间长了自然会明白他想写什么
不过很恶心用
sql = "XXXXX"+id
或这类的其它写法。

说句实在话,刚开始学jdbc的时候我也是sql = "xxxx" + id;这种写法,书上看的,没人交。 但if(sql != null) 这种错不会犯。

教新来的就是要他们去看别人写的代码,也别发脾气,对他们要求也不要太高。平时都检查一下他们的代码,慢慢指导。 如果你自己觉得这个人可培养就好好培养,如果觉得不爽就推荐他去别的项目组。免得双方看的都不爽。




这种if都是用作断言判断输入函数是否合理用的。
所以他们写成sql!=null是不对的。
应该是lottype是否为空。。。
sql="XXX"+xx
这种写法就像是把程序的对错都交给经验
一不小心就会写出
sql="XXX"+username
这种可能有注入的东西来
所以尽量用同一种方式。
写代码。
尽量写标准的代码
发音标准都是老人们血淋淋的经验。。。。
0 请登录后投票
   发表时间:2008-05-13  
我觉得楼主说的对,是态度问题,不是能力问题。
String sql = "";
if( sql != null)
这种,只要多想1秒钟,就会自己发现的

另外
if (ls != null && ls.isEmpty())
这个怎么通过测试的? 写错不奇怪,但是找不到这个错就奇怪了。
0 请登录后投票
   发表时间:2008-05-13  
第3段 sql的拼装能倒着写也蛮强的,肯定copy过来以后看都没看,就看了Eclipse报的编译错误,改了变量名字,就算完事了。
0 请登录后投票
   发表时间:2008-05-13  
ddbird 写道
第3段 sql的拼装能倒着写也蛮强的,肯定copy过来以后看都没看,就看了Eclipse报的编译错误,改了变量名字,就算完事了。

很多人都这么干活,不知道他们的脑子长的是什么。。。。
0 请登录后投票
论坛首页 招聘求职版

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