The GOF patterns resolve some OOP drawbacks: The Abstract Factory case study

The majority of developers have already heard about the design patterns, GOF(Gang Of Four) patterns are the most popularized, and each developer has his way to learn them , we can enumerate:

  • Reading a book.
  • From web sites.
  • From a collegue.
  • Doing a training.

Regardless of the method chose, we can learn by heart the patterns and spent hours to memorize their UML diagrams, but sometimes when we need to use them in a real project, it becomes more problematic. Continue reading “The GOF patterns resolve some OOP drawbacks: The Abstract Factory case study”

People who influenced the programming world series : Uncle Bob.

Robert C. Martin, known as  Uncle Bob has been a software professional since 1970 and an international software consultant since 1990. In the last 40 years, he has worked in various capacities on literally hundreds of software projects. In 2001, he initiated the meeting of the group that created Agile Software Development from Extreme Programming techniques and served as the first chairman of the Agile Alliance.  He is also a leading member of the Worldwide Software Craftsmanship Movement – Clean Code.

Uncle Bob  Contributions:

I- OOP Metrics:

In 1994 Robert “Uncle Bob” Martin proposed a group of object-oriented metrics that are popular until now. Those metrics, unlike other object-oriented ones don’t represent the full set of attributes to assess individual object-oriented design, they only focus on the relationship between packages in the project. Continue reading “People who influenced the programming world series : Uncle Bob.”

Pragmatic approach to learn a new programming language.

Each programmer has its way to learn a new programming language, and the difficulty to master it depends on many factors, we can enumerate:

  • The language itself.
  • The programmer experience.
  • The language community.
  • The existing language resources ( websites, books,…).

Here are some pragmatic steps to learn a new programming language: Continue reading “Pragmatic approach to learn a new programming language.”

45 years since its creation. The C language still very popular.

C is one of the most popular language around all the world, it was initially developed by Dennis Ritchie between 1969 and 1973 at AT&T Bell Labs. Many thousands of projects was developed using C since then. It’s used for all kinds of needs, we can enumerate OS, embedded applications, gaming development, image processing, word processing and database engines. Continue reading “45 years since its creation. The C language still very popular.”

1 year after launching the C++ best practices repository, the basic rules are the most popular.

Last year we launched the C++ Best Practices repository.  It’s an aggregator of some known C++ rules guides:

  • Google Style Guide.
  • jsf air vehicle c++ coding standards.
  • Effective Modern C++ from Scott Meyers.
  • POCO coding standards.

Continue reading “1 year after launching the C++ best practices repository, the basic rules are the most popular.”

Do the developers have less interest in design patterns or they are more pragmatic?

The majority of developers have already heard about the design patterns, GOF(Gang Of Four) patterns are the most popularized, and each developer has his way to learn them , we can enumerate:

  • Reading a book.
  • From web sites.
  • From a collegue.
  • Doing a training.

Regardless of the method chose, we can learn by heart the patterns and spent hours to memorize their UML diagrams, but when we need to use them in a real project, it becomes more problematic. And related to google trends the design patterns are not more popular as before.  Continue reading “Do the developers have less interest in design patterns or they are more pragmatic?”

A picture is worth a thousand words: Visualize your C/C++ Projects case study.

A picture is worth a thousand words” is an English idiom. It refers to the notion that a complex idea can be conveyed with just a single still image or that an image of a subject conveys its meaning or essence more effectively than a description does.

This idiom could also be applied in software programming. Indeed you can easilly understand a mini project when exploring its source code. However a big project become complex and not easy to understand.  In such cases it’s better to visualize the source code using graphs and diagrams to assist the developers understanding the source code. Continue reading “A picture is worth a thousand words: Visualize your C/C++ Projects case study.”

Make the most of the C/C++ static analysis tools

Static code analysis is the process of detecting flaws in software’s source code.  The static analysis tools are useful to detect common coding mistakes; here are some benefits from using them:

  • Make the code source more readable and maintainable.
  • Prevent unexpected behavior in execution.
  • Optimize the execution.
  • Make the code more secure.

Many C/C++ static analysis tools exist right there, each one focus on a specific area and has its advantages, we can enumerate:

  • CppCheck 
  • Clang Analyzer
  • Visual C++ Analyzer
  • VERA++
  • Goanna
  • Viva64
  • PCLint

Continue reading “Make the most of the C/C++ static analysis tools”