Monthly Archives: February 2024

New success story

Hi

We are happy to annouce a new success story: ApptiveGrid – Digitize and Automatize Business Processes

https://www.pharo.org/success/ApptiveGrid.html

S

Why class number is an idiotic quality metric?

Writing quiz questions for the new mooc on advanced object-oriented design mooc https://advanced-design-mooc.pharo.org I realized that some people get it totally wrong. They count class number and think that having many classes is a sign of bad design. Or that having fewer classes is better. Of course nobody likes to define classes for the sake of defining classes. And over engineering is not good either. But let us check a bit what the theory is teaching us.

First let us take some time to think: To have less code or less classes is super easy just remove features. For example if you want to have less classes in Pharo just remove the refactoring engine for example and you will instantaneously less class. Remove the Git tooling and you get less number of classes, number of methods, number of lines of code. It is so easy.

So now nobody is that stupid and usually acknowledges that when we compare things we should compare them under the hypothesis that they are feature equivalent. (I write this but this common wisdom is not totally shared, unfortunately).

Now let us check the theory under the basis of feature equivalence….

Why using class number as a good quality metric is idiotic?

[ * ] A class should have one responsibility
[ * ] A large class tends to have more complex logic and as such be more difficult to test and extend
[ * ] A small class is easier to extend    
[ * ] A hierarchy supports dispatch and polymorphism

So I know some people that should really follow our cool mooc and they will learn things about good and strong OO design :).

Stef

Tagged

[Ann] Pharo by example in Chinese

I just learned that Pharo by example was translated in Chinese.

https://gitee.com/fmcdr/pharo-by-example

thanks a lot

[Ann] Pillar v9.0.0 is now available

We migrated Pillar to Pharo 11 and Pillar is now available. All the development will happen in Pharo11.

http://github.com/pillar-markup/pillar

We will start a new iteration of enhancements of Microdown.

S. Ducasse