有一个bug:程序在调用setObject(1,“test”)时,报java.lang.StackOverflowError (栈溢出)的问题。
提交BUG后,研发的同事将此方法的实现方法发过来,如下:
public void setObject(int parameterIndex, Object x)
{
setObject(parameterIndex,x);
}
当时看到这方法,愣住了,继而无力的笑了,居然还有这样实现方法的。同时,研发那哥们又给我粘贴了另外一些方法,都是只有也该方法,其内部什么都没有实现
public void funcionName() {
// TODO Auto-generated method stub
}
有如此代码,开发的产品就可想而知。
这里不是要说,我公司的产品怎么样,而是由此引发了一点思考。
一名程序员,居然写出这样的程序,且流出来让他人使用,这不是一名合格的程序员的基本素质吧。
和同事讨论起这事,很多时候,现在并不缺乏高级软件工程师,而是缺乏高素质的软件工程师,很多时候得过且过,编译程序通过没有问题就算完事。
从一名测试人的角度看,至少开发此功能的程序员没有对代码进行单元测试,开发团队内部也没有进行相应的代码审查,开发人员存在很大的问题,其所在团队对待产品的态度中也存在较大的问题。我所遇到的情况,研发人员开发一个功能(一般都没有太多的测试,审查),就交给测试人员来测试,测试发现问题,研发人员在进行修改,一般来回4~5遍测试才能够通过。
让我深恶痛绝的是,很多时候研发虽然有一份设计说明书,但真正开发时候,研发人员很做一部分修改,而修改后的东西并不进行相应的说明。不知道大家有没有遇到过这种情况,当多出出现这种问题时,我都会尽量的测试的更加细致一些,多提交一些bug,让你Y修改去,而且还会邪恶的提交几个说明不是特别清晰的BUG,让你Y的也找尝尝苦头
很多时候,非不能也,是不为也。大家都一种事不关己高高挂起的心态,做事没有一个诚挚的新,自然漏洞重重。
说到底,还是一种认识问题,一种个人素质问题。(PS:这里不是说自己怎么怎样,仅有感而发。当然,我所需要的情况也非大众情况,这里仅表达了一点自己的小想法)