Posts

Showing posts from October, 2017

Off Topic: Naming the Software Design Bad Practices

During maintaining a code base for software, developers have to deal with what we mostly call "legacy code" . Beside its original meaning, legacy code mostly refers something that you do not want to touch or change because it is a mess. Mess in the code can be caused by a number of things. First few reasons I can name are: Lack of time to develop software Most probably some unrealistic deadline is the underlying problem. It can also caused by finding out a design failure as a bug in your customer installation. There is no time to fix it properly but it must be fixed. Lack of personal experience Developer is lazy or did not experienced the consequences of developing unreadable code yet. Software source code is not a place to show how complex you can think. The hack, which is showing how complex you can think will cause unreadable code. This is a trouble for your future yourself. Lack of community knowledge In this case software we are dealing is really legacy cod...

Language Architecture for flexibility

Model Driven Development in practice

Model Driven Development is an approach. It creates a long term profit by capturing the business knowledge into model artifacts. As more time invested on artifacts, software created based on them captures the domain better and software product's quality increases. Another important point here is that, this increase is independent from any key player domain expert. Because your organizations knowledge is not in the brain of any domain expert but in the model artifact they are creating together. In comparison this is a huge difference to classical development relying on a particular technology. Classical development points source code as source of domain knowledge. Now software developing organization has a possibility to create technology independent business value. Model Driven Development is not just for reducing the development time but also capturing the domain knowledge in a technology independent way. In practice many developers came across with the term "Model D...