7. March 2011

Spaghetti, lasagna and raviolli code

Code smells or anti-patterns are a common classification of source code quality. There is also classification based on food which you can find on Wikipedia.

Spaghetti code

Spaghetti code is a pejorative term for source code that has a complex and tangled control structure, especially one using many GOTOs, exceptions, threads, or other “unstructured” branching constructs. It is named such because program flow tends to look like a bowl of spaghetti, i.e. twisted and tangled. Spaghetti code can be caused by several factors, including inexperienced programmers and a complex program which has been continuously modified over a long life cycle. Structured programming greatly decreased the incidence of spaghetti code.

Ravioli code

Ravioli code is a type of computer program structure, characterized by a number of small and (ideally) loosely-coupled software components. The term is in comparison with spaghetti code, comparing program structure to pasta; with ravioli (small pasta pouches containing cheese, meat, or vegetables) being analogous to objects (which ideally are encapsulated modules consisting of both code and data).

Lasagna code

Lasagna code is a type of program structure, characterized by several well-defined and separable layers, where each layer of code accesses services in the layers below through well-defined interfaces. The term is in comparison with spaghetti code, comparing program structure to pasta.

Spaghetti with meatballs

The term “spaghetti with meatballs” is a pejorative term used in computer science to describe loosely constructed object-oriented programming (OOP) that remains dependent on procedural code. It may be the result of a system whose development has transitioned over a long life-cycle, language constraints, micro-optimization theatre, or a lack of coherent coding standards.

Do you know about other interesting source code classification?

24. February 2011

Materials – Developing apps for Google Android

You can access materials from my talk at FRI Žilina: PDF, SlideShare


– Facebook group for Android fans not only from Žilina: ZAndroid

– video material is available at www.mojandroid.sk

19. February 2011

24.2. Developing apps for Google Android – Žilina

Update: Slides are available.

Are you interested in developing apps for Google Android platform?

I’ll give talk about this topic at FRI – Žilina. ;-)

When? 10:00am.

Where? Congress center – FRI ŽU.

Who is organizing this event? SOIT.sk.

View Larger Map

I will talk about Android SDK, phone emulators, testing, cross platform development with Adobe AIR and multiscreen apps.

19. February 2011

Software travelers

Bas Vodde mentioned very interesting technique in his interview for SE-Radio.net. He call this technique travelers.

Let’s consider scenario: product development reached the end of iteration. Teams delivered results. People learned quite a lot. Some of them have very specialized knowledge.

Let’s give opportunity to people with very high technical knowledge to choose their team for next iteration. Give them the badge of traveler. They can choose where they want to travel in the organization.

Some of them will stay. Some of them will enjoy traveling between teams.

This technique can improve flow of knwoledge inside organization.

Software traveler is definitely not a new idea. Companies with wise management are already doing it. What I consider as very important is that Bas Vodde gave it the name.

You can download very good episode of podcast with Bas Vodde from Software Engineering Radio – episode Large Agile Software Development. I really enjoyed listening to this episode. Bas was talking about many interesting concepts in software development and agile.

Bas Vodde and Craig Larman wrote a book with title Scaling Lean & Agile Development: Thinking and Organizational Tools for Large-Scale SCRUM.

Note: You can follow SE-Radio Twitter – @seradio.