Laurent's latest Incipient.oO{} entry really hit home when I read it. He mentions how the QA team he is helping has been writing tests that work in their own environment but not on someone else's or worse, on the official QA box !
Just last week, I started working on someone else's code. He's an emacs/scriptlet-in-JSPs-crazy/make kind of developer and he's not really up to par on all the latest Java stuff such as unit-testing or the rest.
However, he's really good (and a friend...) so little by little I've been teaching him new things like writing tests, using ANT, continuous integration... I haven't gotten him to use Eclipse yet but I'm sure he'll come to it in time.
Anyway... I first ran the tests he wrote and bam... everything went red...
I had my moment of doubt... after all, the code I was working on was from a merge from a branch he was working on so maybe we had screwed up in the merge process.
But no... looking at the logs I figured out that some of the classes he was using were writing to the disk in a diretory that depended on the value of a property in a config file. I had convinced him to use a config file that was in the testsuite directory so we could "control" what was going on but that wasn't enough : I didn't have a /tmp/export directory and so it didn't work.
My feeling on this was two-fold. First, I shouldn't have to do any setup in my environment for individual tests to work so this was improper : building & testing should be seemless on our QA box (we do continuous integration using AntHill) and it wasn't here. My second thought was that his tests weren't "unit" enough so he'd had trouble getting it to work without just relying on a special setup (his tests basically setup the database, ran a process and checked the result).
So it was time for some anonymous innerclasses magic (the old trick where you overload a method so it does nothing, for example : saveToDisk() ) and refactoring. Incidently, I think the code is much better now; it's now much easier to really unit test the classes.
Posted by pgirolami76 at April 21, 2003 05:43 PM | TrackBackYou bring up an interesting point, but I have to point out that using a text-editor and the command line is not indicative of being "behind the curve". I am aware of all the latest crazes, but the reason I use vim (and the reason others use emacs) is because the text editor in Eclipse (and every other IDE) SUCKS. Plain and simple. Eclipse is a great tool, and other IDEs as well have functions that vim and emacs don't have, but if you think vim and emacs are missing lots of the features in Eclipse, it is you who are behind. These editors are very advanced, and can easily integrate with ANY development system. About the only thing that don't do right now is the refactoring stuff in Eclipse and "smart" completion (vim does completion, but it's based on words in the buffer, not on parsing Java code).
Posted by: Dave at April 21, 2003 08:41 PMI didn't mean to start a flame war on editors ! I know very well emacs has many many things that can be programmed into it and has java extensions. I know the Eclipse text editor sucks for people used to using emacs.
What I do know is that he is *extremly* productive using his environment when he programs his own way so I haven't forced him to switch to what everyone else is using.
However...
once you start doing real refactoring, doing concurrent development with CVS and have to merge, needing to navigate many many classes (we have 250000LOC), writing tests for most classes (and therefore have to recompile things and remember dependencies yourself), etc, etc... I believe Eclipse brings enough additional stuff to the table to warrant spending the time to learn it
My point was that when I work with him in that kind of an environment I see that he is not as productive in (or even aware of) those areas as people who use advanced IDEs and so I (over?)generalized to all people using that kind of a setup...
but... like I said... this is another debate and I don't feel like starting a war tonight :)
Posted by: Philippe at April 21, 2003 09:07 PMInner classes are evil - two words "dynamic mocks!" :)
M
Posted by: Mike Cannon-Brookes at April 22, 2003 01:16 AMIt always amuses me when people say "This editor sucks!" when all they mean is "This editor doesn't support the key bindings I'm used to".
Over the years, I have come to learn emacs, vi and Windows editing. I can't believe you can be really efficient if you don't know the Windows editing bindings. Take some time to learn it (you know, it's mostly about the arrows) and you will become much more productive.
I even renounced using the emacs keybindings in Eclipse.
2232 http://www.e-free-credit-reports.com cool eh?
Posted by: free credit reports at August 31, 2004 08:54 PMhttp://www.Choose-online-university.com
Posted by: http://www.Choose-online-university.com at September 2, 2004 01:03 AMhttp://www.Choose-online-university.com
Posted by: http://www.Choose-online-university.com at September 2, 2004 01:03 AMhttp://www.apply-to-green-card.org
Posted by: http://www.apply-to-green-card.org at September 2, 2004 06:44 AM1842 Learn all about the best texas holdem here
Posted by: texas holdem at September 3, 2004 04:08 AM8642 talk about wiii is good texas hold em online playa
Posted by: texas hold em at September 3, 2004 07:44 PM6322 Learn all about the best merchant account here
Posted by: high risk merchant account at September 3, 2004 08:29 PM1428 High risk credit card processing is fr
Posted by: credit card processing at September 4, 2004 06:09 AM