Human above all, with pathos, weaknesses and grumpy at times. Speak for myself; think out loud. Direct, seemingly hard faced. Urged to fix things. Am fortunate.

Urban Legends O Is For Object (part 1)

An urban legend, urban myth, urban tale, or contemporary legend,
is a form of modern folklore consisting of stories usually believed by
their tellers to be true.

After all these years of Object Oriented Programming being taught at universities, cou-nt-less number of books written on the subject, advocates, conferences et. al. you would expect that pretty much by now developers would be convinced of its merits and know to a great extend how to apply its principles.

However this is not the case. Every now and then a discussion will spur about how it’s OK to violate basic principles, how OO makes code difficult to understand and the main argument usually boils down to “there is no need to over-engineer”. Then comes the drama. There isn’t enough time, it costs money, there is no need to do it.

After all this time as developers we fail to see the facts and accept hard core evidence that other computer scientists are presenting us with. Stop pretending like it’s a matter of “personal taste”. This is about software engineering.

Software engineering (SE) is a profession dedicated to designing, implementing, and modifying software so that it is of higher quality, more affordable, maintainable, and faster to build. It is a “systematic approach to the analysis, design, assessment, implementation, test, maintenance and reengineering of software, that is, the application of engineering to software.”

As a developer you should care and feel responsible for the code you are producing.