from my work as a developer
Archive for September, 2009
bored
Sep 26th
The last two days were so boring
I spent the whole Thursday and Friday solving bugs – I’m exhausted!
Hopefully, the next week will be better! I also made some preparation regarding upcoming Warsjawa 2009 conference!
duplications
Sep 23rd
The whole day I’ve been solving bugs – it was so boring
Tons of small “cosmetics” changes to print layout – “add line here”, “remove line there”, and so on, nothing exciting. And the most annoying thing was bug duplication. The First was bug with the High priority with description to change some logic to show or not given part of layout. And when started solving bugs with the Low priority I discovered the second, almost the same bug – the description was a bit different. That would have be ok, if it was registered by another tester. But no, it was the same tester as for the first bug – what a mess
I also continued work with requirements for application that will be used as example during DP groups meetings and it’s almost done. Additional ideas will be added when they come up.
restart
Sep 22nd
The day was so bored, I’ve been fixing bugs regarding the new print template I had made last week. Many small and stupid mistakes, few of them were significant but most have never wouldn’t happen when I got more focus at first time when I did the template. Nonetheless I closed around 30 bugs, that improved my statistics
After work we had first meeting of Warszawa Design Patterns Study Group for this season. It was purely organizational meeting, we’ve been discussing about what we want to do for up coming weeks. What kind of expectation we have and how to achieve them. We decided to learn TDD on some real example, next we will add DDD, maybe some Scrum and XP methodology. We will see! As a example we decide to develop software to manage conferences. As a organizer of Javarsovia 2009 conference I had experienced lots of problem that I can address in the requirements. Hopefully we will be able to build either something useful or at least some basis for a real project.
I must prepare a backlog and next time we will be able to start coding
The quite interested technique was suggested during meeting. The meeting should start as a Code Kata session when we will get some functionality and learn coding techniques. The second part will be like a Randori Session when we will be able to refactor the code and learn (maybe) some Design Patterns with live examples!
I’m looking forward for the next meeting!
new stuff
Sep 21st
Today I’ve got a new PC box. The most surprising thing was the Graphic Card – it’s capable to support up to four monitors. So I already connected additional one, to have ad least two
It’s nice to have such a thing!
The next was installation, I spent the whole day on that. Copping back data and installing needed software took me rest of the day. Even in unified environment you have to waste lots of time setting up your workspace and common tools
Hopefully, the next upgrade wouldn’t happened for next three years! Tomorrow I can be more productive and we are opening the new season of Warsaw Design Patterns Study Group, come in and help us build a new agenda for whole year!
as soon as possible
Sep 17th
I will get a new PC box so I had to clean up my old one. I moved all my personal data to portable drive, also all tools and projects. Not only I get a new PC, almost all team members will switch to the new PC’s. Monday will be a very slow day when we all start installing needed tools and checking out projects from source code repository. The network will be overloaded for sure! That’s way I copied project to external drive, I will not depend on the network
The next think was a mail from our architect that I shouldn’t mess with Ant build script. I really don’t understand why – I just added task to the main build task to discover mistakes in JSP files. In my opinion it’s better to catch such typo as soon as possible when someone is building the project locally, instead of getting an exception on test environment or even worst, on production servers! It’s the same as for exception handling. I’m addicted to handle exception early the sooner – log them, throw up but handle, stop current activity and handle exception. Something unnaturally happened with an application, so don’t ignore that it can break the whole application.
I have no clue what to do with that
merge
Sep 16th
Today I still tried to improve code quality of application. I double-checked what I had done previously to be sure I didn’t introduce some typo. I’ve been working on that when I got message from testers that they experienced some strange behaviour with the application. It just showed them blank screen when they had tried enter given page. I made quit investigation and found a problem.
The worst thing was that it happened because of automatically merge – two additional lines were added where the same lines already were there but surrounded with if () to protect against NullPointerException. It was stupid mistake and any test didn’t check such piece of code against null value. I will have to add some tests and check more carefully in the future what was merged during project update. I’m using IntelliJ IDEA and there is fancy window with update status, see below:


After quick fix and deployment to test environment I was able to came back to refactoring. I’ve been digging around trying to find places where the code can be improved.
In mean time I’ve got request to correct some mistakes on the print template I had made few days ago. It took me about one hour and once again I was able follow with application refactoring.
half a way
Sep 15th
I started, mentioned early code clean-up and refactoring. It was huge task but quite simply – I just had to keep focus on what I was doing. I implemented all the changes and confirmed that everything was ok with Unite tests. No problem so far!
Then I decided to committed the code to have clean starting point for next step. In first step I just introduced one common interface which base on Template Method pattern and reimplemented all needed concrete classes. After all I had one common interface to use in many places, it simplified many operations and I was able to cut off bunch of unneeded methods.
That was the half of way. The second part was to used custom Enums instead of String constants. I implemented the Enums and started replacing Strings. It was very bored and could introduce accidental bug. Hopefully it didn’t – lots of manual typing without mistake!
I reran the tests to confirm that I didn’t break anything. Done and committed! That was all for today, tomorrow I will still try to simplify the interface. To have less code needed to cover by tests
too good
Sep 14th
As I said last time, today I was assigned to a new task. The job was mostly done by a team mate, I just had to implement some additional functions – basically extend already existing logic. It was an old code I’d written some time ago, but was a bit overused and became a mess. So, I thought to clean-up it first, to did it in right way. I’ve started refactoring some large parts of application and after three hours I still was in middle of nowhere, with bunch of changed classes. Neither new functionality wasn’t done, nor code clean-up.
The time was important, so I decided to revert back all my changes and start again with the simplest changes to met requirements. I also dropped idea to improve code quality in the same time, I had already registered some extra time with PM to do this later. Anyway, after another two-tree hours, I finished and the team mate was able to moved forward with his changes.
I committed my changes and also he did the same. Than we verified the application and double-checked all key figures. Everything was as expected, we were able to mark bug as solved.
At the end of day I started refactoring and cleaning the code, that work will follow during upcoming days!
I also begun introducing Zen-To-Done in to my life, it should allow me to better manage my time and life
done, busy, exciting
Sep 12th
The last two days were very busy – I was polishing the application and the print layout to be for sure ready for upcoming training next week. I had to add missing mappings from UI to Data Model – many of them wasn’t in use because there wasn’t needs for that
That’s the worst thing – design application and a model to satisfy only given context. In such way it’s very hard to add another functionality without breaking what was done already. Especially if there hadn’t been any unit tests.
The application and print layout are ready for test and I’ve got new assignment – I must help team mate to solve high priority bug which prevents starting training phase of the main application. It was discovered few days ago and he already did a great job to accomplish it, but I will have to double-check in case of side effect of his changes. If we deliver the application on Tuesday, than we have also clean-up the source code in such area to improve code quality.
The upcoming week will be very buy. And exciting!
the work is done
Sep 9th
I finished the task, that I had mentioned few days ago. I need to adjust an environment’s configuration to allow testers make a test next week. The funny thing is that, the print specification wasn’t still accepted by business side
So I can have some work to do when they finally approve the document. Anyway I will make a review what I did to be sure I didn’t miss any parts, just in case when I would have luck
I’ve got also another task, but it would be more conceptual – I and selected team mates must propose some solution to speed up few screens in an application. During Load Test those screens were selected as a most slowest. Or they produce the heaviest over load for infrastructure! The whole work is to improve performance without doing huge changes – only some minor tweaks – it wouldn’t be easy!
Ok, lets forget about tomorrow – I’m going back to the training – glory as blues-man is waiting for me
