Wednesday, December 28, 2011

About "silver bullets"

It is very often when I see companies looking for a "silver bullet" that will solve all their problems, as a rule - those companies just don't have a gun

Wednesday, December 14, 2011

A Thought gained through suffering

After more than 14 years in commercial software development I can say with confidence that the most major part of any software is ARCHITECTURE!!! You may have stupid coders, UI-designers and even product owners but you must have a clever experienced system architect!!!

Sunday, December 4, 2011

JCP 5.0 is out!!!

The Java Comment Preprocessor 5.0 has been published and can be downloaded from the project page http://code.google.com/p/java-comment-preprocessor/

Monday, November 21, 2011

Java Comment Preprocessor

I have moved my pet project called Java Comment Preprocessor from my home page to the Google Code service and currently the project page is http://code.google.com/p/java-comment-preprocessor/

Tuesday, November 8, 2011

Usage EnumSet instead of boolean variables

I had a Java class which contained a lot of boolean variable definitions as I show below
boolean specialFlag1;
boolean specialFlag2;
boolean specialFlag3;
boolean specialFlag4;
...
specialFlag1 = true;
...
if (specialFlag1){
...
It looked very bad and made my code ugly so I decided to extract the variables into an enum
public enum SpecialFlag {
  Flag1,
  Flag2,
  Flag3,
  Flag4;
}
so the boolean variables part of the core class was changed to the code below
final Set specialFlags = EnumSet.noneOf(SpecialFlag.class);
...
specialFlags.add(SpecialFlag.Flag1)
...
if (specialFlags.contains(SpecialFlag.Flag1){
...
as you can see above, the EnumSet based variant looks really better but I was worrying about productivity and wrote a small test to compare the speed of working with the EnumSet variant and the boolean one. My test shows that difference between boolean and EnumSet variants is no so big and about 13%.

Monday, October 31, 2011

Rainsberger's workshop at Helsinki Oct 2011

I have visited the workshop of J.B.Rainsberger at our Finnish headquarters. It was very interesting for me and I have got a lot of very useful information about TDD. During whole workshop Joe made some online notes and because he told us that he would remove them after a month I have decided to save them below

The Foreword

The destination of the blog is to keep some technical thoughts, ideas and code snippets. The language for the blog is English but because it is neither my mother tongue nor daily language I can be wrong in some word usage and sentences.