Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 
avatar of Fabio Salvalai

Fabio Salvalai

Fabio Salvalai has asked 1 questions and find answers to 9 problems.

Stats

204
EtPoint
59
Vote count
1
questions
9
answers

About

I am a software developer with over 12 years of professional experience on the Microsoft technology stack.

I like elegant code and clear SOLID architectures. Not just for the sake of sheer elegance, but I am convinced that one swims faster if not against the current.

You know you got it right when it feels like the God of Tetris is feeding you the right pieces.

Things I enjoy the most in Software Development

  • Front-End Technologies

After years of working mostly either on Windows applications or on backend web, I feel like an excited child when I get to work with Front-End technologies, such as TypeScript and Angular. It's a new world of wonders for me and it feels like magic :)

  • Contribute to OSS

I find it enjoyable and incredibly rewarding when, during my free time, I can contribute to existing projects in languages I'm not proficient in. It's a great way to get acquainted with a language, and it's an incredibly efficient way to adopt the good practices of a language, thanks to Pull-Requests: if you want your work to be merged in the main source tree, you better follow the best practices!

  • TDD / BDD.

Many people consider Unit Testing as a painstaking, time consuming task that will slow you down in your work. The reason why I firmly believe in Test and Behavior Driven Development is because, if applied correctly, it can take that frustration away and even speed-up development by making complex edge-case scenarios easy to reproduce.

Furthermore, writing unit tests with a context/specification approach makes unit tests cheaper to write and maintain.

As a side-note, a friend and I put together Testeroids, an open-source project, hosted on GitHub.

Testeroids is a framework and a set of guidelines working in concert for great productivity in unit testing of .NET projects. It takes advantage of the AAA pattern (Arrange/Act/Assert) and modern C# language features and tooling, such as Aspect Oriented Programming and ReSharper, to create an enjoyable unit testing experience.

Testeroids is now obsolete, since our investment were not paying off when compared with the small advantages it has over Machine.Specifications.