We are lucky! Requirements analyst in our project is a girl with technical background. Once she admit to me that she was a developer for a 5 years. What a relief. No more unrealistic requirements based on assumptions of people from marketing department, right?
As usual during project life cycle database schema changed. Well it was not actually a schema. Just the rule that user identifier change to case sensitive. This trigger a discussion what changes needs to be applied to the application to handle that change. One of the issues was is it necessary to update db queries. And this was the moment I appreciate that our requirements analyst had deep technical understanding. She just explain to everybody
girl : "There should be no change in a way we handle database. For sure it is case sensitive , its obvious that ASCII code of 'a' is different from 'A' , we do not need to take care about it ..."
wtorek, 24 marca 2009
sobota, 21 marca 2009
Eclipse Driven Development
Once we take a look into our customer code we knew it will be "interesting" to work with it. Code was big and messy. Actually number of Hindu developers required to maintain the code grow exponentially.
One of the reason to hire my company was to make the code a bit "clearer" and refactore some chumps of it. And here we find our first problem. Company decided that although tests would be very handy it is too expensive to write unit tests ... So maybe in the future ... , but right now they have alternative way. They call them regression tests. Idea like in all regression test to check if You did not break previously working functionality. In their case it was just click-through some basic scenario in a browser.
Our Senior Developer without hestitations take on himself burden of refactorisation and other most difficult task and start coding. After a month of a happy coding he commit his work to version control system. And then guess what ...
Next day suprisingy for everybody my build print beautifull stack trace just after first click , on the second page of application.
Just to make sure I asked my coworkers if their builds works. Well of course they were , probably I just screw something during deployment . But I decided to check one more thing.
- How old are Your build ? - I've asked
-February 21 - anwsered one of my coworkers (which make the build about month old)
- How about Yours? - I've asked our senior developer form India.
- Well mine is actualy from January . - He replied
- Hmm ok , just please explain me one thing If You are not building application and we do not have tests ... how do You know this is working ?
- Eclipse , it shows me if anything get broken ...
- You mean that there are no compile errors?
- Yes!
One of the reason to hire my company was to make the code a bit "clearer" and refactore some chumps of it. And here we find our first problem. Company decided that although tests would be very handy it is too expensive to write unit tests ... So maybe in the future ... , but right now they have alternative way. They call them regression tests. Idea like in all regression test to check if You did not break previously working functionality. In their case it was just click-through some basic scenario in a browser.
Our Senior Developer without hestitations take on himself burden of refactorisation and other most difficult task and start coding. After a month of a happy coding he commit his work to version control system. And then guess what ...
Next day suprisingy for everybody my build print beautifull stack trace just after first click , on the second page of application.
Just to make sure I asked my coworkers if their builds works. Well of course they were , probably I just screw something during deployment . But I decided to check one more thing.
- How old are Your build ? - I've asked
-February 21 - anwsered one of my coworkers (which make the build about month old)
- How about Yours? - I've asked our senior developer form India.
- Well mine is actualy from January . - He replied
- Hmm ok , just please explain me one thing If You are not building application and we do not have tests ... how do You know this is working ?
- Eclipse , it shows me if anything get broken ...
- You mean that there are no compile errors?
- Yes!
środa, 4 marca 2009
ClearCase vs SVN and why SVN sucks!
Working as a consultant in a big company You can always learn new exciting thing. Few days ago I have learned why SVN sucks! Company I am working for is using ClearCase as a version control system. I need to admit that I did not have much experience with it so I asked our Senior Developer to help me with reverting changes.
SD : Well You can not do this unless You have made a label.
ME : You mean I can not just revert project to a state from particular date?
SD : You can only revert Your activities. Entire project can only be reverted to a label.
Wow. What a great tool for which You need to pay just 4000 €.
ME : Hmm are You sure? It should not be that hard.
SD : Oh You know this is a tool for distributed development , other developers could have checked out their activities ,etc ... I is not that easy to revert that changes.
ME : Well after working with subversion I get the impression it is not the rocket science.
And then I was enlighten. I learned why svn sucks!
SD : Well this is because subversion works different way , whenever You make any changes You commit entire project , so it is easy to revert the changes ...
...
SD : Well You can not do this unless You have made a label.
ME : You mean I can not just revert project to a state from particular date?
SD : You can only revert Your activities. Entire project can only be reverted to a label.
Wow. What a great tool for which You need to pay just 4000 €.
ME : Hmm are You sure? It should not be that hard.
SD : Oh You know this is a tool for distributed development , other developers could have checked out their activities ,etc ... I is not that easy to revert that changes.
ME : Well after working with subversion I get the impression it is not the rocket science.
And then I was enlighten. I learned why svn sucks!
SD : Well this is because subversion works different way , whenever You make any changes You commit entire project , so it is easy to revert the changes ...
...
Begining - so what is a Hindlet?
I do not know proper English , I am not an expert in computer science , and probably I do not have anything interesting to say , so YES I should not have my own blog. The only reason I am actually writing it is because I have already trouble remembering all the stories from my work place.
So maybe starting from the beginning ... what is a Hindlet?
Well I can not tell You cause it would sound racist , but let just say it is a poor quality (write only) spaghetti-like application written by specific kind of programmers , maintainable only by bigger number of that programmers. Often name refers to creation of people from one particular country , which of course is not really fair ... but sorry guys these are just my experiences.
Recently I have moved to other country to start a work in big international company. I had good job in my motherland , I was just looking for new challenges and was really hoping to learn a lot . And I did learn a lot ... of anti patterns.
So maybe starting from the beginning ... what is a Hindlet?
Well I can not tell You cause it would sound racist , but let just say it is a poor quality (write only) spaghetti-like application written by specific kind of programmers , maintainable only by bigger number of that programmers. Often name refers to creation of people from one particular country , which of course is not really fair ... but sorry guys these are just my experiences.
Recently I have moved to other country to start a work in big international company. I had good job in my motherland , I was just looking for new challenges and was really hoping to learn a lot . And I did learn a lot ... of anti patterns.
Subskrybuj:
Komentarze (Atom)