Software Engineer

I am a Software Engineer. I have a Bachelor (Honours) of Science in Information Technology from the University of Sunderland - Class of 2003. I have been developing software since 2001 when I was offered a role at CERN as part of their Technical Student Programme.

By 2016 I had grown really tired of the software industry and by the end of 2019 Apple killed whatever excitement I had left. I am not sure what the next 10 years will bring. What I do know is that my apettite to do work that is impactful has only grown bigger and stronger. Great people make me tick more than anything.

I am also tired.

Everytime you write an init method a developer gets an Exception ...Simply Don't

	public class Plane
    {
        private boolean engineStarted;

        /**
         * Don't do that
         */
        public void init()
        {
            this.startEngine();
        }
        
        /**
         * 
         */
        public void startEngine(){
            this.engineStarted = true;
        }
    }

    public class PlaneFactory
    {
        /**
         * @return a new {@link Plane} ready to take off
         */
        public Plane newPlane()
        {
            Plane plane = new Plane();
            plane.startEngine();
            
        return plane;
        }
    }

Don’t write #init methods. They only add an extra place for the client code to look for and lead to frustration when trying to figure out what went wrong.

Instead use a factory method to return an object to the required state and document that.