Scala

Super Powers to Qualified Access Modifiers

Scala uses access modifiers quite differently from Java. Let’s see what the differences are and why qualified access modifiers are so powerful in Scala. default access modifier Scala >> public Java >> protected While in Scala the public keyword doesn’t exist, Java allows you to explicitly use the keyword protected as you please. private Scala >> accessible from a class and its companion… Continue reading Super Powers to Qualified Access Modifiers

Scala · Tutorial

Shared package code? Fear no more!

Sometimes code is common to all the classes of a specific package (e.g.: conversions between objects, custom logs, shared operations, etc). Our lovely Java doesn’t seem to have a convenient way of declaring code as part of a package, rather than just a class….but FEAR NO MORE! Let’s see how we can this in Scala using package objects.… Continue reading Shared package code? Fear no more!

Scala · Tutorial

Traits are better than Legos!

One of the most powerful (and cool) features in Scala is that you can use traits as stackable modifications. Let’s see how it works with a simple tutorial 🙂 Our goal is to create a list of ordered colours, let’s call it ColourMixer. First we create a class to represent what a basic (empty) colour mixer is: Let's create our Legos… Continue reading Traits are better than Legos!

Continuous Integration

To Feature Branch or Not to Feature Branch?

Even when working with Agile methodologies and a Continuous Integration pipeline, some developers love feature branching – and they complain a lot when they are forbidden from using it! The arguments in its favour are usually: - "It makes easy to code review" - "I can focus on my task and worry about conflicts later"… Continue reading To Feature Branch or Not to Feature Branch?