Ruby devs are probably all too familiar with seeing this error:
NoMethodError (undefined method `foo' for nil:NilClass)
Most of the time, it’s probably due to a typo, but every now and then we end up having to do something like:
defined?(bar) && bar.foo
# returns nil if bar is nil
If you’re on Rails, or are using ActiveSupport, you can use
Continue reading “Ruby’s Safe Navigation Operator &. and is it a Code Smell?”
If you are into object-oriented programming, you most likely have heard about composition over inheritance. The concept itself is simple: Whenever possible, prefer to compose objects rather than introducing inheritance.
Over years of reviewing Ruby code, the same things tend to come up over and over. In this post, I’d like to address some of the most common code smells I find when reviewing OOP code (and Ruby code in particular).
Continue reading “Common Code Smells in OOP”
Introducing JSON Filter, Map, Reduce.
Now that FileMaker has given us a practical and more simplified way to loop in a calculation with the While() function, the doors have opened to other ways to look at looping.
Continue reading “Let’s Abstract a While() in FileMaker”
FileMaker has been missing a looping control structure in its function set for…well…a while. So, the introduction of FileMaker 18’s While() function is less a fancy new feature than it is a fix for a long standing limitation in FileMaker’s function set.
Continue reading “We’ve been waiting for While()… for a while”
Server-side Swift is making waves in the web and services worlds, and developers from iOS, web and other coding backgrounds are increasingly joining the server-side Swift community. There’s just one problem (a good one): How do you choose which open-source Swift framework to use?
Continue reading “Which Server-Side Swift Framework Is Best For Your Project?”
Ruby-ish, rubbish… Get it? Anyways, not like Ruby-ish means bad! Quite the opposite!
It’s the day after Xmas and because Ruby is awesome and delivered 2.6.0, we’ll get to play with some of our new Xmas gifts:
Continue reading “A Ruby-ish Xmas”
As developers, we are tasked with reducing complexity. Complexity is all around us, and good code organization reduces complexity while at the same time supporting increased flexibility, ease of change, quicker onboarding, faster debugging, and my favorite, better testing.