> My very reason to embark on my software development carreer was the original
> colonization game, so I know it very well, still playing from time to time. 
> It was my
> first PC game I was playing back in the day on an old x86 PC at my uncle's 
> place  :D.

That's really nice -- I have also had a special place in my heart for 
Colonization :-)

I started working on FreeCol in 2003, but it's been more than ten years since I 
worked heavily on the project. Now, however, I do have the motivation and time 
to start developing again.


> In my daily working I am doing REST backend services for the most, because the
> application we are developing was moved to the web sphere (a time ago), but 
> originally
> it was a full java fatclient (with a swing GUI), so I also know a lot about  
> that GUI stuff
> you are using too.

Great! Developers that really knows Java Swing are in short supply. We even had 
great difficulty in getting people to understand basic stuff, like that GUI 
code needs to be executed on the event dispatch thread: 
https://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html


> I browsed the code a bit the last days and I would love to help out.

Fantastic! :-D


> What do you think about some refactorings, and or introducing some helping
> libs - like lombok?
>
> I would also fix all "potential NPE" stuff, and remove redundant null-checks.

We can definitely add more libraries when it is needed. Lombok, however, is in 
my opinion absolutely not needed. Please keep in mind that open source projects 
like FreeCol have a really long development time and the developers have 
varying levels of knowledge. Libraries like Lombok make it easier to write 
simple code fast, but may introduce several hard-to-debug errors if used by 
novices.

The focus should be on writing as simple code as possible. Some years ago I had 
a talk about this topic, if you are able to stand my horrible Norwegian accent: 
https://www.youtube.com/watch?v=xrIOAFvWeSg

It would be great discussing how the code can be refactored. For example, the 
map drawing code could be greatly simplified by making a view model that is 
independent of FreeCol's game model.


Best wishes,
Stian Grenborgen


_______________________________________________
Freecol-developers mailing list
Freecol-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freecol-developers

Reply via email to