ANTIPATTERN – Cut and Paste Programming
I love reading computer manuals, be they about software architecture, algorithmic, programming, security, cloud storage and operations, big data, machine learning or others. The following text is taken from the book “AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis“ ——————————————————————————– Also Known As: Clipboard Coding, Software Cloning, Software Propagation Root Causes: Sloth BACKGROUND Cut-and-Paste Programming is a […]
AntiPattern – Spaghetti Code
I love reading computer manuals, be they about software architecture, algorithmic, programming, security, cloud storage and operations, big data, machine learning or others. The following text is taken from the book “AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis“ ——————————————————————————– Root Causes: Ignorance, Sloth BACKGROUND The Spaghetti Code AntiPattern is the classic and most famous AntiPattern; it […]
Inherit or Compose?
Object-Oriented Programming has brought lot of very interesting discussions over the years. One of them is about deciding when one should use inheritance, or composition. I read a pretty nice article about it recently. Here is how the article ends: Inheritance should only be used when: Both classes are in the same logical domain The […]
.NET Dependency Injection Frameworks
As Martin Fowler mentions it in his article, the basic idea of the Dependency Injection (DI) is to have a separate object, that populates a field in another class with an appropriate implementation of a specific interface. DI can be applied in three different ways: Constructor Injection, Setter Injection, and Interface Injection. A container I’ve used on several […]
What Is Software Architecture?
“Architecture is….the important stuff, whatever that is.” “We need to put less effort on quality so we can build more features for our next release.” Really? How you define the quality of your software in regards to architecture? Where do you place your customers’ ability to compete into that picture? Why keep your code base […]
Defensive Programming in Production Code
I love reading the book Code Complete, by Steve McConnell. The following comes from it. … One of the paradoxes of defensive programming is that during development, you’d like an error to be noticeable-you’d rather have it to be obnoxious than risk overlooking it. But during production, you’d rather have the error to be as […]
Inherit – When Inheritance Simplifies the Design.
I love reading the book Code Complete, by Steve McConnell. The following comes from it. … In designing a software system, you’ll often find objects that are much like other objects, except for a few differences. In a accounting system, for instance, you mights find both full-time and part-time employees. Most of the data associated […]
Principles in Refactoring
I always enjoy reading or listening to Martin Fowler. The following comes from his book, Refactoring. _________________ The word Refactoring has two definitions depending on context. The first definition is the noun form. Refactoring (noun): a change made to the internal structure of software to make it easier to understand and cheapter to modify without […]
Professional code vs good code
This week, we were discussing about performance, bugs prevention, issue detection and fix, and how it was important to write code that make problems fix easy. The kind of code you would write as a developer, that would allow someone in the Ops team to understand what’s happening on Production. A mention was then made […]